gpt4 book ai didi

Java 日期时间差异

转载 作者:行者123 更新时间:2023-11-29 05:54:20 26 4
gpt4 key购买 nike

在编写集成测试时,我希望响应中有硬编码日期。

基本上我硬编码了预期日期值'2020-11-10T00:00:00.000-05:00'并运行 new GregorianCalendar(2020, 10, 10).getTime()

当我在本地放置和断言并运行它时,它通过了,但是当将相同的代码推送到 bamboo 构建服务器时,它生成的实际值是'2020-11-10T00:00:00.000Z'所以我的测试失败了。

  1. 为什么相同的 calendar.getTime 生成两个不同的时间,是因为服务器机器配置为 GMT 吗?

  2. 我可以做些什么让它们同时出现或有任何其他解决方法吗?

注意:将其设置为字符串或比较不带时间的日期在这里不是一个选项,因为我使用的是 Spring MockWebServiceServer,在其中我必须对 responseXML 进行硬编码并指定日期,类似于 Enum 中的内容。

 REQUESTAUTOMATESETTLEMENTWORKCASE("<aut:AutomateSettlementWorkcaseRequest xmlns:aut=\"http://www.abcd.com/abcd/workflow/services/workcase/model/AutomateSettlementWorkcase_1_0_0\">" +
" <aut:customerAccountId>5049903033584324</aut:customerAccountId>\n" +
" <aut:settlementDate>2020-11-10T00:00:00.000-05:00</aut:settlementDate>\n" +
" </aut:AutomateSettlementWorkcaseRequest>"),

最佳答案

输入数据中的“-5”部分是错误的……理想情况下,您应该在构建日历时指定时区,然后将其设置为世界标准时间凌晨 5 点(例如)。基本上,2020-11-10T00:00:00.000-05:002020-11-10T05:00:00.000Z 相同。

现在,我们不知道的是,保留与 UTC 的偏移量对您来说是否重要。如果是,您需要在日历中设置一个适当的时区 - 一个与生成输入数据的规则相同的时区。如果不是,我会使用 UTC 并适本地设置时间。

我个人建议使用 Joda Time虽然不是 CalendarDate - 它是一个好得多的日期和时间 API。没有基于 0 的月份,对于初学者:)

关于Java 日期时间差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12757077/

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