fork download
  1. import java.time.OffsetDateTime;
  2. import java.time.ZoneOffset;
  3. import java.time.format.DateTimeFormatter;
  4. import java.time.format.DateTimeFormatterBuilder;
  5. import java.util.Locale;
  6.  
  7. class Main {
  8.  
  9. private static final DateTimeFormatter FORMATTER =
  10. new DateTimeFormatterBuilder()
  11. .append(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
  12. .appendPattern("[XXX][XX]")
  13. .toFormatter(Locale.ENGLISH);
  14.  
  15. public static void main(String[] args) {
  16. String str1 = "2022-03-30T11:22:33.44+04:00";
  17. String str2 = "2022-03-30T11:22:33.44+0400";
  18.  
  19. // Converting to Instant
  20. System.out.println(OffsetDateTime.parse(str1, FORMATTER).toInstant());
  21. System.out.println(OffsetDateTime.parse(str2, FORMATTER).toInstant());
  22.  
  23. // Converting an OffsetDateTime to another OffsetDateTime at UTC
  24. System.out.println(OffsetDateTime.parse(str1, FORMATTER)
  25. .withOffsetSameInstant(ZoneOffset.UTC));
  26. System.out.println(OffsetDateTime.parse(str2, FORMATTER)
  27. .withOffsetSameInstant(ZoneOffset.UTC));
  28.  
  29. }
  30. }
Success #stdin #stdout 0.09s 54768KB
stdin
Standard input is empty
stdout
2022-03-30T07:22:33.440Z
2022-03-30T07:22:33.440Z
2022-03-30T07:22:33.440Z
2022-03-30T07:22:33.440Z