使用UTC时区将字符串解析为ZonedDateTime

时间:2014-08-06 13:40:39

标签: java java-time threetenbp

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

2014年8月15日

迫使它成为ZonedDateTime意味着2014年8月15日在UTC时区午夜?

1 个答案:

答案 0 :(得分:2)

我认为你的意思是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

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