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.math.BigDecimal;
  8.  
  9. import java.time.* ;
  10. import java.time.temporal.* ;
  11. import java.time.format.* ;
  12.  
  13. /* Name of the class has to be "Main" only if the class is public. */
  14. class Ideone
  15. {
  16. public static void main (String[] args) throws java.lang.Exception
  17. {
  18.  
  19. String input = "1493694000000";
  20. BigDecimal bd = new BigDecimal( input );
  21. BigDecimal microsDivisor = new BigDecimal( 1_000_000_000L );
  22. long seconds = bd.longValue( );
  23. BigDecimal bdMicros = bd.subtract( new BigDecimal( seconds ) ).multiply( microsDivisor );
  24. long nanos = bdMicros.longValue( );
  25.  
  26. Instant instant = Instant.ofEpochSecond( seconds , nanos );
  27.  
  28. System.out.println( "input: " + input + " = bd: " + bd + " = seconds: " + seconds + " & nanos: " + nanos );
  29. System.out.println( "instant.toString(): " + instant );
  30.  
  31.  
  32. }
  33. }
Success #stdin #stdout 0.19s 61144KB
stdin
Standard input is empty
stdout
input: 1493694000000 = bd: 1493694000000 = seconds: 1493694000000 & nanos: 0
instant.toString(): +49303-04-13T00:00:00Z