gpt4 book ai didi

java - SimpleDateFormat 解析返回错误日期

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:21 25 4
gpt4 key购买 nike

我正在使用 SimpleDateFormat 来解析字符串。这是一个例子:

private static final SimpleDateFormat longStringFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
[some code here]
Date dirDate = longStringFormat.parse("2014-04-03T06:00:00.376542900Z");

当我在 Debug模式下检查 dirDate 或打印它时,我得到的日期是 Mon Apr 07 14:35:42 FET 2014

为什么我会得到这样的偏移量?它不能算作时区偏移量(尽管应用偏移量似乎已经是错误的)。我怎样才能获得描述与字符串完全相同的时间的日期对象?

最佳答案

好吧,问题是您要为毫秒数指定此值:376542900。这是 104 小时 35 分钟 42 秒 900 毫秒...因此出现了问题。

不幸的是,SimpleDateFormat 似乎无法理解您给它的是“几分之一秒”而不是“几毫秒”。我强烈怀疑(虽然我还没有尝试过)Java 8 会正常工作(可能有更长的模式)并且 Joda Time 也可以处理它 - 这些都是一个选择吗?否则,您将需要使用字符串操作将字符串转换为更易于管理的形式。

(顺便说一句,您还应该将 SimpleDateFormat 的时区设置为 UTC,因为这就是文本中指定的内容。)

关于java - SimpleDateFormat 解析返回错误日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22842196/

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