List of usage examples for java.time.format DateTimeFormatterBuilder getLocalizedDateTimePattern
public static String getLocalizedDateTimePattern(FormatStyle dateStyle, FormatStyle timeStyle, Chronology chrono, Locale locale)
From source file:org.openlmis.fulfillment.web.util.StatusChangeDto.java
/** * Print createdDate for display purposes. * @return created date//w w w .j a va 2 s. c o m */ @JsonIgnore public String printDate() { Locale locale = LocaleContextHolder.getLocale(); String datePattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(FormatStyle.MEDIUM, FormatStyle.MEDIUM, Chronology.ofLocale(locale), locale); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(datePattern); return dateTimeFormatter.format(createdDate); }
From source file:org.talend.dataquality.statistics.datetime.utils.PatternListGenerator.java
private static void getFormatByStyle(FormatStyle dateStyle, FormatStyle timeStyle, boolean isDateRequired, boolean isTimeRequired, Locale locale, boolean keepLongMonthAndSpecificChars) { String pattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(// isDateRequired ? dateStyle : null, isTimeRequired ? timeStyle : null, IsoChronology.INSTANCE, locale);// // ignore patterns with long month for additional languages if (!keepLongMonthAndSpecificChars && (pattern.contains("MMMM") || pattern.contains("MMM") || pattern.contains(" a") || pattern.contains("'"))) { return;/* www . j a v a 2s . c om*/ } if (!pattern.contains("yy") && pattern.contains("y")) {// only one "y" to represent year part return; } if (!knownPatternList.contains(pattern)) { LocaledPattern lp = new LocaledPattern(pattern, locale, dateStyle.name(), isTimeRequired); knownLocaledPatternList.add(lp); knownPatternList.add(pattern); // update list of pattern strings without locale if (PRINT_DETAILED_RESULTS) { System.out.println(lp); } } else { if (pattern.contains("MMMM") || pattern.contains("MMM")) { if (PRINT_DETAILED_RESULTS) { System.out.print("!!!duplicated pattern with different locale!!! "); } LocaledPattern lp = new LocaledPattern(pattern, locale, dateStyle.name(), isTimeRequired); knownLocaledPatternList.add(lp); if (PRINT_DETAILED_RESULTS) { System.out.println(lp); } } } }
From source file:org.talend.dataquality.statistics.datetime.utils.PatternListGenerator.java
private static void generateDateFormats() throws IOException { int currentLocaledPatternSize = 0; knownLocaledPatternList.clear();// ww w . j a va 2s .c o m knownPatternList.clear(); // 1. Base Localized DateTimePatterns (java8 DateTimeFormatterBuilder) processBaseDateTimePatternsByLocales(); int basePatternCount = knownLocaledPatternList.size() - currentLocaledPatternSize; if (PRINT_DETAILED_RESULTS) { System.out.println("#basePatterns = " + basePatternCount + "\n"); } currentLocaledPatternSize = knownLocaledPatternList.size(); // 2. Other common DateTime patterns for (LocaledPattern lp : OTHER_COMMON_PATTERNS_NEED_COMBINATION) { addLocaledPattern(lp); for (Locale locale : primaryLocaleArray) { String patternShort = DateTimeFormatterBuilder.getLocalizedDateTimePattern(// null, FormatStyle.SHORT, IsoChronology.INSTANCE, locale);// LocaledPattern combinedShortLP = new LocaledPattern(lp.pattern + " " + patternShort, locale, FormatStyle.SHORT.name(), true); addLocaledPattern(combinedShortLP); String patternMedium = DateTimeFormatterBuilder.getLocalizedDateTimePattern(// null, FormatStyle.MEDIUM, IsoChronology.INSTANCE, locale);// LocaledPattern combinedMediumLP = new LocaledPattern(lp.pattern + " " + patternMedium, locale, FormatStyle.MEDIUM.name(), true); addLocaledPattern(combinedMediumLP); } } for (LocaledPattern lp : OTHER_COMMON_PATTERNS) { addLocaledPattern(lp); } // 3. ISO and RFC DateTimePatterns processISOAndRFCDateTimePatternList(); // knownPatternList.addAll(isoPatternList); int isoPatternCount = knownLocaledPatternList.size() - currentLocaledPatternSize; if (PRINT_DETAILED_RESULTS) { System.out.println("#DateTimePattern(ISO&RFC) = " + isoPatternCount + "\n"); } currentLocaledPatternSize = knownLocaledPatternList.size(); // 4. Additional Localized DateTimePatterns (java8 DateTimeFormatterBuilder) processAdditionalDateTimePatternsByLocales(); // knownPatternList.addAll(additionalPatternList); int additionalPatternCount = knownLocaledPatternList.size() - currentLocaledPatternSize; if (PRINT_DETAILED_RESULTS) { System.out.println("#additionalPatternList = " + additionalPatternCount + "\n"); } currentLocaledPatternSize = knownLocaledPatternList.size(); if (PRINT_DETAILED_RESULTS) { System.out.println("#Total = " + knownLocaledPatternList.size() + // " (#baseDatePatterns = " + basePatternCount + // ", #isoPatterns = " + isoPatternCount + // ", #additionalPatterns = " + additionalPatternCount + ")\n");// } // table header dateSampleFileTextBuilder.append("Sample\tPattern\tLocale\tFormatStyle\tIsWithTime\n"); RegexGenerator regexGenerator = new RegexGenerator(); for (LocaledPattern lp : knownLocaledPatternList) { datePatternFileTextBuilder.append(lp).append("\n"); String regex = regexGenerator.convertPatternToRegex(lp.pattern); dateRegexFileTextBuilder.append(lp.getPattern()).append("\t^").append(regex).append("$\n"); dateSampleFileTextBuilder .append(ZONED_DATE_TIME.format(DateTimeFormatter.ofPattern(lp.getPattern(), lp.getLocale()))) .append("\t").append(lp.getPattern())// .append("\t").append(lp.getLocale())// .append("\t").append(lp.getFormatStyle())// .append("\t").append(lp.isWithTime()).append("\n"); } // Date Formats String path = SystemDateTimePatternManager.class.getResource("DateFormats.txt").getFile().replace( "target" + File.separator + "classes", "src" + File.separator + "main" + File.separator + "resources"); IOUtils.write(datePatternFileTextBuilder.toString(), new FileOutputStream(new File(path))); // Date Regexes path = SystemDateTimePatternManager.class.getResource("DateRegexes.txt").getFile().replace( "target" + File.separator + "classes", "src" + File.separator + "main" + File.separator + "resources"); IOUtils.write(dateRegexFileTextBuilder.toString(), new FileOutputStream(new File(path))); // Date Samples path = SystemDateTimePatternManager.class.getResource("DateSampleTable.txt").getFile().replace( "target" + File.separator + "classes", "src" + File.separator + "test" + File.separator + "resources"); IOUtils.write(dateSampleFileTextBuilder.toString(), new FileOutputStream(new File(path))); // generate grouped Date Regexes FormatGroupGenerator.generateDateRegexGroups(); }