📜  如何在java中格式化日期时间对象以显示日期和时间以及毫秒(1)

📅  最后修改于: 2023-12-03 15:24:32.633000             🧑  作者: Mango

如何在Java中格式化日期时间对象以显示日期和时间以及毫秒

在Java中,可以使用java.time包中的类来表示日期和时间对象。我们可以使用类如LocalDateTimeLocalDateLocalTime来表示不同类型的日期和时间。我们可以使用这些类的实例来格式化日期和时间以便以不同的方式显示它们,包括毫秒。

格式化日期和时间

我们可以使用DateTimeFormatter类来格式化日期和时间对象。这个类提供了一些预定义的格式,也可以使用自定义格式。

以下是使用预定义格式的示例代码:

LocalDateTime now = LocalDateTime.now();
System.out.println("ISO Date time: " + now.format(DateTimeFormatter.ISO_DATE_TIME));
System.out.println("ISO Date: " + now.format(DateTimeFormatter.ISO_DATE));
System.out.println("ISO Time: " + now.format(DateTimeFormatter.ISO_TIME));
System.out.println("MMM dd, yyyy HH:mm:ss: " + now.format(DateTimeFormatter.ofPattern("MMM dd, yyyy HH:mm:ss")));

输出示例:

ISO Date time: 2021-04-14T21:59:46.402496
ISO Date: 2021-04-14
ISO Time: 21:59:46.402496
MMM dd, yyyy HH:mm:ss: Apr 14, 2021 21:59:46

上面的代码显示了如何使用DateTimeFormatter来格式化日期和时间对象,并将它们显示在不同的格式中。我们可以使用预定义的格式,如ISO格式,也可以使用自定义格式,如MMM dd, yyyy HH:mm:ss

格式化毫秒

我们可以使用java.time.format.DateTimeFormatterBuilder类来格式化毫秒。该类提供了一些构建器方法,以便更轻松地创建自定义格式。

下面是一个例子,说明如何使用DateTimeFormatterBuilder类来格式化毫秒:

LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
        .appendPattern("yyyy-MM-dd HH:mm:ss")
        .appendFraction(ChronoField.MILLI_OF_SECOND, 3, 3, true)
        .toFormatter();
System.out.println(now.format(formatter));

输出示例:

2021-04-14 22:08:36.501

上面的代码创建了一个格式化器对象,它将日期和时间格式化为"yyyy-MM-dd HH:mm:ss.SSS"的格式。ChronoField.MILLI_OF_SECOND参数指定显示毫秒值。我们还将appendFraction()方法用于添加毫秒。

需要注意的是,使用appendFraction()方法,第二个参数指定最小宽度的值,第三个参数指定最大宽度的值,第四个参数指定是否使用适当数量的零来左侧填充毫秒值。

结论

在Java中,我们可以使用DateTimeFormatter类和DateTimeFormatterBuilder类来格式化日期和时间对象以显示日期,时间和毫秒。我们可以使用预定义的格式或自定义格式来满足我们的需求。