繁体   English   中英

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

[英]Parsing a string into a ZonedDateTime with UTC timezone

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

2014年8月15日

强迫它成为ZonedDateTime这意味着2014年8月15日午夜(UTC)时区?

我假设您的意思是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()方法来计算丢失的时间和偏移量(未测试)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM