String s = 19.17.38.008000;
DateFormat f = new SimpleDateFormat("HH.mm.ss.SSSSSS");
Date d = f.parse(s);
system.out.println(d);
this is the code I am running it runs fine except when it prints it prints the time 19:17:46. Please someone explain this to me
As a side note:
String s = 19.17.38.008000;
DateFormat f = new SimpleDateFormat("HH.mm.ss");
Date d = f.parse(s);
system.out.println(d);
this code will print the same string correctly minus the milliseconds. Someone please tell me what I am missing here.
EDIT: Thanks for the answers I think the issue here is I was reading 38.008000 as .008 seconds but sdf is reading SSS as 8000 milliseconds which are not the same thing.
SSSSSS
is still milli-seconds even if you put 6 of them. 19:17:38 + 008000 ms is 19:17:46 so it correct, if surprising.
AFAIK The java.time
library in Java 8 supports micro-second (and nano-second) timestamps.
Thank you @Meno for the corrections.