How to get the current time in YYYY-MM-DD HH:MI:Sec.Millisecond format in Java?
The code below gives me the current time. But it does not tell anything about milliseconds.
public static String getCurrentTimeStamp() {
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//dd/MM/yyyy
Date now = new Date();
String strDate = sdfDate.format(now);
return strDate;
}
I have a date in the format YYYY-MM-DD HH:MM:SS
(2009-09-22 16:47:08
).
But I want to retrieve the current time in the format YYYY-MM-DD HH:MM:SS.MS
(2009-09-22 16:47:08.128
, where 128
are the milliseconds).
SimpleTextFormat
will work fine. Here the lowest unit of time is second, but how do I get millisecond as well?
Solution 1:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Solution 2:
A Java one liner
public String getCurrentTimeStamp() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date());
}
in JDK8 style
public String getCurrentLocalDateTimeStamp() {
return LocalDateTime.now()
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
}