能否让我知道JDK 7日期格式应为哪种格式来解析日期2019-06-18T19:04:30.515 UTC并将其更改为本地日期时间?
答案 0 :(得分:2)
对于Java 6和7,您可以使用the crash data dictionary项目将大多数现代的 java.time 功能引入Java 6和Java7。这意味着您可以避免使用可怕的旧式日期时间类,例如SimpleDateFormat
(由DateTimeFormatter
取代)。
解析日期2019-06-18T19:04:30.515 UTC
首先,我们操纵您的输入字符串以完全符合ThreeTen-Backport。我们用Z
(发音为“ Zulu”)替换该SPACE和“ UTC”。
String input = "2019-06-18T19:04:30.515 UTC".replace( " UTC" , "Z" ) ;
Instant instant = Instant.parse( input ) ;
并将其更改为本地日期时间?
要从UTC调整到另一个时区,请应用ZoneId
以获得ZonedDateTime
。
ZoneId z = ZoneId.of( "Pacific/Auckland" ) ; // Or "Europe/Berlin" etc.
ZonedDateTime zdt = instant.atZone( z ) ;
要生成一个字符串,该字符串表示针对用户的人类语言和文化规范而本地化的日期时间值,请使用DateTimeFormatter.ofLocalizedDateTime
。
答案 1 :(得分:1)
在这里您可以找到有关此主题的有趣文章:
https://en.wikipedia.org/wiki/Coordinated_Universal_Time
有关模式的说明可以在这里找到:
https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#timezone
这使我建议使用“ yyyy-MM-dd'T'HH:mm:ss.SSS z”作为模式。希望对您有帮助。