3

您如何使用 ThreeTen 库(我不能使用 java 8)解析以下格式的字符串:

2014 年 8 月 15 日

强迫这成为ZonedDateTime2014 年 8 月 15 日 UTC 时区午夜的意义?

4

1 回答 1

4

我假设您的意思是 2014 年,而不是 2010 年。如果是这样,那么以下代码可以帮助您:

LocalDate date = 
  LocalDate.parse(
    "15 Aug 2014", 
    DateTimeFormatter.ofPattern("dd MMM uuuu", Locale.ENGLISH));
ZonedDateTime zdt = date.atStartOfDay(ZoneOffset.UTC);
System.out.print(zdt);
// output: 2014-08-15T00:00Z

另一种更笨重的方法是使用专门DateTimeFormatterBuilder的方法parseDefaulting()来获取丢失的时间和偏移量(未测试)。

于 2014-11-06T06:56:04.597 回答