gpt4 book ai didi

scala - 如何正确解析带时区的日期?

转载 作者:行者123 更新时间:2023-12-04 17:09:50 27 4
gpt4 key购买 nike

我正在尝试使用以下代码将文本字符串转换为日期:

//Input String
str = "14/01/26,12:13:13+00"

//Format
format = new java.text.SimpleDateFormat("yy/MM/dd,HH:mm:ssz")

//Conversion
format.parse(str)

但我得到以下信息:

Exception: Unparseable date: "14/01/26,12:13:13+00"



我的格式必须如何更改才能正确解析此日期?

最佳答案

+00是无效的时区。应该是 +0000 .

您可以添加 00str并替换 zZ在使用模式 RFC 822 time zone 格式:

new java.text.SimpleDateFormat("yy/MM/dd,HH:mm:ssZ").parse(str + "00")
// java.util.Date = Sun Jan 26 16:13:13 MSK 2014
java.util.Date (和 java.text.SimpleDateFormat )不是项目的最佳选择。见 this answer一些细节。

作为奖励 DateTimeFormat来自 Joda-Time允许您解析您的 str未经修改:
// I'm using the same pattern with `Z` here
DateTimeFormat.forPattern("yy/MM/dd,HH:mm:ssZ").parseDateTime(str)
// org.joda.time.DateTime = 2014-01-26T16:13:13.000+04:00

关于scala - 如何正确解析带时区的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21363233/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com