fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. import java.time.* ;
  8. import java.time.format.* ;
  9. import java.time.temporal.* ;
  10. import java.time.chrono.* ;
  11. import java.time.zone.* ;
  12.  
  13.  
  14. /* Name of the class has to be "Main" only if the class is public. */
  15. class Ideone
  16. {
  17. public static void main (String[] args) throws java.lang.Exception
  18. {
  19. String input = "20200519T142616Z" ;
  20. DateTimeFormatter f = DateTimeFormatter.ofPattern( "uuuuMMdd'T'HHmmssXXXXX" ) ;
  21. OffsetDateTime odt = OffsetDateTime.parse( input , f ) ;
  22.  
  23. ZoneId z = ZoneId.of( "Africa/Tunis" ) ;
  24. ZonedDateTime zdt = odt.atZoneSameInstant( z ) ;
  25.  
  26. Locale locale = new Locale( "fr" , "TN" ) ; // Or `Locale.UK` etc.
  27. DateTimeFormatter fOutput = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.LONG ).withLocale( locale ) ;
  28. String output = zdt.format( fOutput ) ;
  29.  
  30. System.out.println( "odt.toString(): " + odt ) ; // Standard ISO 8601 format.
  31. System.out.println( "zdt.toString(): " + zdt ) ; // Standard ISO 8601 format wisely extended by appending the name of the time zone in square brackets.
  32. System.out.println( "output: " + output ) ; // Automatically localized format.
  33.  
  34. }
  35. }
Success #stdin #stdout 0.28s 42860KB
stdin
Standard input is empty
stdout
odt.toString(): 2020-05-19T14:26:16Z
zdt.toString(): 2020-05-19T15:26:16+01:00[Africa/Tunis]
output: 19 mai 2020 à 3:26:16 PM CET