如何获取 Java 中 YYYY-MM-DD HH:MI:Sec.毫秒格式的当前时间?

2022-08-31 04:05:45

下面的代码给了我当前的时间。但它并没有告诉任何关于毫秒的信息。

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;
}

我有一个格式为()的日期。YYYY-MM-DD HH:MM:SS2009-09-22 16:47:08

但是我想以格式检索当前时间(毫秒在哪里)。YYYY-MM-DD HH:MM:SS.MS2009-09-22 16:47:08.128128

SimpleTextFormat将正常工作。在这里,时间的最低单位是第二,但是我如何获得毫秒呢?


答案 1
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

答案 2

一个 Java one liner

public String getCurrentTimeStamp() {
    return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date());
}

在 JDK8 样式中

public String getCurrentLocalDateTimeStamp() {
    return LocalDateTime.now()
       .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
}