fork download
  1. import java.time.Year;
  2. import java.time.ZonedDateTime;
  3. import java.time.format.DateTimeFormatter;
  4. import java.time.format.DateTimeFormatterBuilder;
  5. import java.time.temporal.ChronoField;
  6. import java.util.Locale;
  7.  
  8. public class Main {
  9. public static void main(String[] args) {
  10. DateTimeFormatter dtf = new DateTimeFormatterBuilder()
  11. .optionalStart()
  12. .appendPattern("EEEE, dd MMM uuuu HH:mm:ss '('VV')'")
  13. .optionalEnd()
  14. .optionalStart()
  15. .parseDefaulting(ChronoField.YEAR, Year.now().getValue())
  16. .appendPattern("MM/dd '('EEE')', HH:mm VV")
  17. .optionalEnd()
  18. .toFormatter(Locale.ENGLISH);
  19.  
  20. ZonedDateTime zdt1 = ZonedDateTime.parse("Wednesday, 30 Nov 2022 10:30:00 (UTC)", dtf);
  21. ZonedDateTime zdt2 = ZonedDateTime.parse("12/08 (Thu), 10:00 GMT", dtf);
  22.  
  23. System.out.println(zdt1);
  24. System.out.println(zdt2);
  25.  
  26. // Formatted output
  27. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss z", Locale.ENGLISH);
  28. System.out.println(zdt1.format(formatter));
  29. System.out.println(zdt2.format(formatter));
  30. }
  31. }
Success #stdin #stdout 0.2s 56332KB
stdin
Standard input is empty
stdout
2022-11-30T10:30Z[UTC]
2022-12-08T10:00Z[GMT]
2022/11/30 10:30:00 UTC
2022/12/08 10:00:00 GMT