Advertisement
Guest User

Untitled

a guest
Sep 5th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. public class PatternWith00Literals {
  2.  
  3. private static final Map<String, ChronoFormatter<PlainDate>> PARSERS;
  4.  
  5. static {
  6. Map<String, ChronoFormatter<PlainDate>> parsers = new HashMap<>();
  7. parsers.put("ddMMyyyy", create("0000yyyy|00MMyyyy|dd00yyyy|ddMMyyyy"));
  8. parsers.put("MMddyyyy", create("0000yyyy|MM00yyyy|00ddyyyy|MMddyyyy"));
  9. parsers.put("yyyyMMdd", create("yyyy0000|yyyyMM00|yyyy00dd|yyyyMMdd"));
  10. PARSERS = Collections.unmodifiableMap(parsers);
  11. }
  12.  
  13. private static ChronoFormatter<PlainDate> create(String pattern) {
  14. return
  15. ChronoFormatter.ofDatePattern(pattern, PatternType.CLDR, Locale.ROOT)
  16. .withDefault(PlainDate.MONTH_AS_NUMBER, 1)
  17. .withDefault(PlainDate.DAY_OF_MONTH, 1);
  18. }
  19.  
  20. public static void main(String[] args) throws Exception {
  21.  
  22. ChronoFormatter<PlainDate> df1 = PARSERS.get("ddMMyyyy");
  23. System.out.println(df1.parse("04122017")); // 2017-12-04
  24. System.out.println(df1.parse("00122017")); // 2017-12-01
  25. System.out.println(df1.parse("04002017")); // 2017-01-04
  26. System.out.println(df1.parse("00002017")); // 2017-01-01
  27.  
  28. ChronoFormatter<PlainDate> df2 = PARSERS.get("MMddyyyy");
  29. System.out.println(df2.parse("12042017")); // 2017-12-04
  30. System.out.println(df2.parse("12002017")); // 2017-12-01
  31. System.out.println(df2.parse("00042017")); // 2017-01-04
  32. System.out.println(df2.parse("00002017")); // 2017-01-01
  33.  
  34. ChronoFormatter<PlainDate> df3 = PARSERS.get("yyyyMMdd");
  35. System.out.println(df3.parse("20171204")); // 2017-12-04
  36. System.out.println(df3.parse("20171200")); // 2017-12-01
  37. System.out.println(df3.parse("20170004")); // 2017-01-04
  38. System.out.println(df3.parse("20170000")); // 2017-01-01
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement