fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.time.* ;
  7. import java.time.format.* ;
  8.  
  9. /* Name of the class has to be "Main" only if the class is public. */
  10. class Ideone
  11. {
  12. public static void main (String[] args) throws java.lang.Exception
  13. {
  14. System.out.println( Runtime.version() ) ;
  15.  
  16. Ideone.demo( "2022-12-29 01:16:03 GMT+08:00" ) ; // Succeeds.
  17. Ideone.demo( "2022-12-29 01:16:03 UTC+08:00" ) ; // Fails.
  18. }
  19.  
  20. private static void demo( String timeStr )
  21. {
  22. DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss O");
  23. ZonedDateTime zonedDateTime = ZonedDateTime.parse(timeStr, dtf);
  24. System.out.println( zonedDateTime ) ;
  25. }
  26. }
Runtime error #stdin #stdout #stderr 0.13s 49852KB
stdin
Standard input is empty
stdout
12.0.1+12
2022-12-29T01:16:03+08:00
stderr
Exception in thread "main" java.time.format.DateTimeParseException: Text '2022-12-29 01:16:03 UTC+08:00' could not be parsed at index 20
	at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2049)
	at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1951)
	at java.base/java.time.ZonedDateTime.parse(ZonedDateTime.java:598)
	at Ideone.demo(Main.java:23)
	at Ideone.main(Main.java:17)