gpt4 book ai didi

java - Joda 时间模式不正确?显示错误的日期

转载 作者:行者123 更新时间:2023-12-02 05:01:36 24 4
gpt4 key购买 nike

我正在使用 joda 包来完成一些时间工作。我很困惑为什么我的模式没有正确执行正确的工作来获得正确的日期(应该是 10)。如果我将其打印出来,它会显示:getDayOfMonth 是多少 --> 14

public void testTime() {
String startDate = "Fri, 10 Jan 2015 23:10:04 +0000";
String pattern = "EEE, dd MMM yyyy HH:mm:ss +xxxx";
DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern);
DateTime time1 = fmt.parseDateTime(startDate);
System.out.println("what is the getDayOfMonth --> " + time1.getDayOfMonth());
}

EEE 有问题吗?我需要做什么来修复它?

最佳答案

首先,您使用了错误的时区模式。使用 Z 而不是 +xxxx。请参阅DateTimeFormat API。

其次,您还应该为格式化程序指定时区,否则它将按照您的本地时区进行格式化。因此,如果您的时区是 +5:00,您可能不会得到精确的 10。当然,1 月 10 日是星期六,而不是星期五。总而言之,以下内容应该可以正常工作:

String startDate = "Sat, 10 Jan 2015 23:10:04 +0000";
String pattern = "EEE, dd MMM yyyy HH:mm:ss Z";
DateTimeFormatter fmt = DateTimeFormat.forPattern(pattern).withZone(DateTimeZone.UTC);
DateTime time1 = fmt.parseDateTime(startDate);
System.out.println("what is the getDayOfMonth --> " + time1.getDayOfMonth());

关于java - Joda 时间模式不正确?显示错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28221589/

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