📜  格式化 localdatetime - Java (1)

📅  最后修改于: 2023-12-03 14:55:41.132000             🧑  作者: Mango

格式化 LocalDateTime - Java

在Java中,我们通常使用LocalDateTime对象来表示日期和时间。当我们需要格式化输出LocalDateTime对象时,我们可以使用DateTimeFormatter类来实现。

使用DateTimeFormatter格式化LocalDateTime对象

DateTimeFormatter类提供了几种预定义的格式化日期和时间的方法:

  • ISO_LOCAL_DATE_TIME:使用默认格式渲染一个LocalDateTime
  • ISO_LOCAL_DATE:使用默认格式呈现一个LocalDate
  • ISO_LOCAL_TIME:使用默认格式呈现一个LocalTime
  • ISO_OFFSET_DATE_TIME:使用默认格式呈现一个ZonedDateTime对象

有其他几个常用的格式化方法:

  • ofPattern(String pattern):使用指定格式呈现日期和时间
  • ofLocalizedDateTime(FormatStyle style):使用指定的本地日期时间格式(如FULL、LONG、MEDIUM和SHORT)呈现日期和时间

下面是一个示例程序,演示如何使用DateTimeFormatter类格式化LocalDateTime对象:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class LocalDateTimeFormatter {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        System.out.println("Default formatting for LocalDateTime: " + now);

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formatted = now.format(formatter);
        System.out.println("Formatted LocalDateTime with pattern yyyy-MM-dd HH:mm:ss: " + formatted);

        DateTimeFormatter localizedFormatter = DateTimeFormatter.ofLocalizedDateTime(DateTimeFormatter.Style.SHORT);
        String localizedFormatted = now.format(localizedFormatter);
        System.out.println("Localized DateTime with format style SHORT: " + localizedFormatted);
    }
}

输出:

Default formatting for LocalDateTime: 2021-07-26T21:56:40.313804
Formatted LocalDateTime with pattern yyyy-MM-dd HH:mm:ss: 2021-07-26 21:56:40
Localized DateTime with format style SHORT: 7/26/21 9:56 PM

在上面的示例程序中,我们首先使用LocalDateTime.now()方法获取当前的LocalDateTime对象,并使用默认的日期时间格式将其打印出来。

然后,我们使用DateTimeFormatter.ofPattern(String pattern)方法创建了一个自定义格式的日期时间格式化程序,并在LocalDateTime对象上使用format()方法来格式化日期时间。

最后,我们使用DateTimeFormatter.ofLocalizedDateTime(DateTimeFormatter.Style.SHORT)方法创建了一个本地日期时间格式化程序,使用format()方法来格式化日期时间。

总结

在Java中,我们可以使用DateTimeFormatter类来格式化LocalDateTime对象。我们可以使用预定义的方法或使用自定义模式来格式化日期时间。