是的,Java的DateTimeFormatter
类可以精确到毫秒。你可以使用DateTimeFormatter.ofPattern()
方法创建一个格式化器,然后使用withZone()
方法设置时区。以下是一个示例:
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println("LocalDateTime: " + localDateTime);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
System.out.println("ZonedDateTime with milliseconds: " + zonedDateTime.format(formatter));
}
}
在这个示例中,我们创建了一个DateTimeFormatter
对象,其格式为"yyyy-MM-dd HH:mm:ss.SSS"
,其中SSS
表示毫秒。然后,我们将当前LocalDateTime
对象转换为ZonedDateTime
对象,并使用格式化器将其格式化为字符串。这将输出一个包含日期、时间以及毫秒的字符串。