fork(2) 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.  
  11.  
  12. /* Name of the class has to be "Main" only if the class is public. */
  13. class Ideone
  14. {
  15. public static void main (String[] args) throws java.lang.Exception
  16. {
  17.  
  18. System.out.println ( "Java vendor: " + System.getProperty ( "java.vendor" ) );
  19. System.out.println ( "Java version: " + System.getProperty ( "java.version" ) );
  20.  
  21. List<String> strings = new ArrayList<> ();
  22. strings.add ( "2017-01-09T21:49:26.7Z" );
  23. strings.add ( "2017-01-09T21:49:26.70Z" );
  24. strings.add ( "2017-01-09T21:49:26.700Z" );
  25. strings.add ( "2017-01-09T21:49:26.7000Z" );
  26. strings.add ( "2017-01-09T21:49:26.70000Z" );
  27.  
  28. // Instant.parse
  29. for ( String string : strings ) {
  30. try {
  31. Instant instant = Instant.parse ( string );
  32. System.out.println ( "GOOD - string: " + string + " parsed: " + instant );
  33. } catch ( DateTimeParseException e ) {
  34. System.out.println ( "ERROR - Failed to parse string: " + string );
  35. }
  36. }
  37. System.out.println ( "Done with Instant.parse." );
  38.  
  39. // DateTimeFormatter.ofPattern
  40. DateTimeFormatter f = DateTimeFormatter.ofPattern ( "yyyy-MM-dd'T'HH:mm:ss[.SSS]XXX" , Locale.US );
  41. for ( String string : strings ) {
  42. try {
  43. OffsetDateTime odt = OffsetDateTime.parse ( string , f );
  44. System.out.println ( "GOOD - string: " + string + " parsed: " + odt );
  45. } catch ( DateTimeParseException e ) {
  46. System.out.println ( "ERROR - Failed to parse string: " + string );
  47. }
  48. }
  49. System.out.println ( "Done with 'DateTimeFormatter.ofPattern'." );
  50.  
  51.  
  52. }
  53. }
Success #stdin #stdout 0.14s 4386816KB
stdin
Standard input is empty
stdout
Java vendor: Oracle Corporation
Java version: 1.8.0_112
GOOD - string: 2017-01-09T21:49:26.7Z parsed: 2017-01-09T21:49:26.700Z
GOOD - string: 2017-01-09T21:49:26.70Z parsed: 2017-01-09T21:49:26.700Z
GOOD - string: 2017-01-09T21:49:26.700Z parsed: 2017-01-09T21:49:26.700Z
GOOD - string: 2017-01-09T21:49:26.7000Z parsed: 2017-01-09T21:49:26.700Z
GOOD - string: 2017-01-09T21:49:26.70000Z parsed: 2017-01-09T21:49:26.700Z
Done with Instant.parse.
ERROR - Failed to parse string: 2017-01-09T21:49:26.7Z
GOOD - string: 2017-01-09T21:49:26.70Z parsed: 2017-01-09T21:49:26.700Z
GOOD - string: 2017-01-09T21:49:26.700Z parsed: 2017-01-09T21:49:26.700Z
ERROR - Failed to parse string: 2017-01-09T21:49:26.7000Z
ERROR - Failed to parse string: 2017-01-09T21:49:26.70000Z
Done with 'DateTimeFormatter.ofPattern'.