📜  Java中的 LocalDateTime format() 方法(1)

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

Java中的 LocalDateTime format() 方法

LocalDateTime 是Java 8中的日期时间API的一部分,它是一个日期时间对象,可以表示年、月、日、时、分、秒和纳秒。 format()LocalDateTime 类的一个方法,用于将 LocalDateTime 对象格式化为指定的字符串。

语法
public String format(DateTimeFormatter formatter)
参数
  • formatter :日期时间格式化器。
返回值
  • 格式化后的字符串。
示例
LocalDateTime dateTime = LocalDateTime.of(2020, 8, 21, 11, 0, 0);

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = dateTime.format(formatter);

System.out.println(formattedDateTime); // 2020-08-21 11:00:00

格式化模式

日期时间格式化模式由一系列预定义的字母和自定义的字符组成。下面列出了常用的日期时间格式模式(详细参见 Java 8官方文档):

| 模式 | 描述 | | --------- | ------------------------------------------ | | yyyy | 年份(4位数) | | MM | 月份(如:06) | | dd | 日期(如:15) | | HH | 小时(24小时制,如:22) | | hh | 小时(12小时制,如:10) | | mm | 分钟(如:30) | | ss | 秒数(如:55) | | SSS | 毫秒数(如:678) | | a | 上午/下午标识符(如:AM/PM) | | EEEE | 星期几(如:星期五) | | MMMM | 月份全称(如:六月) | | MMM | 月份简称(如:6月) | | D | 当天是当年的第几天(如:180) | | w | 当天是当周的第几天(如:5,其中周日为第一天) | | W | 当年的第几周(如:25) | | Z/ZZ/ZZZ | 时区 |

自定义模式

除了上述预定义模式外,还可以自定义日期时间格式模式。例如,要输出格式为 2020-08-21T11:00:00 的日期字符串,可以使用以下代码:

LocalDateTime dateTime = LocalDateTime.of(2020, 8, 21, 11, 0, 0);

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
String formattedDateTime = dateTime.format(formatter);

System.out.println(formattedDateTime); // 2020-08-21T11:00:00

注意事项
  • format() 方法在格式化 LocalDateTime 对象时会产生 DateTimeException 异常,如果格式化工作失败。常见的异常原因有无效的格式器模式和无效的日期时间。
  • format() 方法在多线程环境下是线程不安全的,应该避免在并发场景中使用。
相关方法

Java 8中的日期时间API涵盖了多种函数,其中一些重要的函数如下:

  • LocalDate.parse():解析字符串为日期。
  • LocalDateTime.now():获取当前日期时间。
  • LocalDateTime.plus():添加年、月、日、小时、分钟或秒到现有日期时间。
  • LocalDateTime.minus():从现有日期时间中减去年、月、日、小时、分钟或秒。
小结

LocalDateTime format() 方法是Java 8中的日期时间API的一部分。它可以将 LocalDateTime 对象格式化为指定的字符串。在使用此方法时,请注意参数和格式化模式的正确性,并避免在线程安全限制下使用。