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 = "20100101120000000";
  20. DateTimeFormatter f = DateTimeFormatter.ofPattern( "uuuuMMddHHmmssSSS" ) ;
  21. LocalDateTime ldt = LocalDateTime.parse( input , f ) ;
  22.  
  23. ZoneId z = ZoneId.of( "America/Montreal" ) ;
  24. ZonedDateTime zdt = ldt.atZone( z ) ;
  25.  
  26. LocalDate ld = zdt.toLocalDate() ;
  27. ZonedDateTime zdtStartOfDay = ld.atStartOfDay( z ) ;
  28.  
  29. Duration d = Duration.between(
  30. zdtStartOfDay.toInstant() ,
  31. zdt.toInstant()
  32. );
  33. long millis = d.toMillis() ;
  34.  
  35. System.out.println( "d.toString(): " + d ) ;
  36. System.out.println( "millis: " + millis ) ;
  37. }
  38. }
Success #stdin #stdout 0.15s 38824KB
stdin
Standard input is empty
stdout
d.toString(): PT12H
millis: 43200000