如何将 LocalDateTime 日期转换为特定格式?
How to convert a LocalDateTime date to a particular format?
您好,我有一小段 Java 代码片段。我正在使用 Java 8。我有一个 Java LocalDateTime
对象,我想格式化它。请在下面查看我的代码。
String dateUTC = "2021-10-21T10:32:38Z";
Instant i = Instant.parse(dateUTC);
LocalDateTime ldt = i.atZone(ZoneId.of("Europe/London")).toLocalDateTime();
我想将 LocalDateTime
对象 ldt
打印为以下格式的字符串:
Oct 21 2021 11:32:38 AM
我怎样才能做到这一点?
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm:ss a");
System.out.println( ldt.format(dateTimeFormatter));
使用内置的本地化格式
你能接受输出中的逗号吗?
DateTimeFormatter dateTimeFormatter
= DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
.withLocale(Locale.US);
System.out.println(ldt.format(dateTimeFormatter));
输出:
Oct 21, 2021, 11:32:38 AM
直接的好处是我们不需要 fiddle 任何格式模式字符串,这总是一个容易出错的任务。两个进一步的优势是: 1. 用户可能会更喜欢内置格式,因为它的构建符合当地人的期望(例如美国); 2. 代码非常适合本地化:只需指定不同的语言环境即可让不同文化的人开心。
您好,我有一小段 Java 代码片段。我正在使用 Java 8。我有一个 Java LocalDateTime
对象,我想格式化它。请在下面查看我的代码。
String dateUTC = "2021-10-21T10:32:38Z";
Instant i = Instant.parse(dateUTC);
LocalDateTime ldt = i.atZone(ZoneId.of("Europe/London")).toLocalDateTime();
我想将 LocalDateTime
对象 ldt
打印为以下格式的字符串:
Oct 21 2021 11:32:38 AM
我怎样才能做到这一点?
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm:ss a");
System.out.println( ldt.format(dateTimeFormatter));
使用内置的本地化格式
你能接受输出中的逗号吗?
DateTimeFormatter dateTimeFormatter
= DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
.withLocale(Locale.US);
System.out.println(ldt.format(dateTimeFormatter));
输出:
Oct 21, 2021, 11:32:38 AM
直接的好处是我们不需要 fiddle 任何格式模式字符串,这总是一个容易出错的任务。两个进一步的优势是: 1. 用户可能会更喜欢内置格式,因为它的构建符合当地人的期望(例如美国); 2. 代码非常适合本地化:只需指定不同的语言环境即可让不同文化的人开心。