How to Get Current DateTime in Java with Format (yyyy-MM-dd HH:mm:ss.SSS)
How can we obtain the current datetime in Java, following this format: yyyy-MM-dd HH:mm:ss.SSS
?
1. Using Java 8’s LocalDateTime
We can use LocalDateTime.now()
and a DateTimeFormatter
to obtain the current datetime string with a custom format.
String getCurrentDateTime() {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
return LocalDateTime.now().format(dtf);
}
2. Using Instant
We can do the same with Instant.now()
with some string replacements.
String getCurrentDateTime() {
String instant = Instant.now().toString(); // 2022-07-04T12:12:12.121Z
return instant.replace("T", " ").replace("Z", "");
}
3. Using SimpleDateFormat
Prior to Java 8, using SimpleDateFormat
with new Date()
was a great, simple option.
String getCurrentDateTime() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date());
}
Keep in mind that
SimpleDateFormat
is not thread-safe.