JodaTime 格式化程序混乱

发布于 2025-01-03 22:54:40 字数 762 浏览 2 评论 0原文

当我使用 Jodatime 格式化类从字符串(例如“Sat 11 Feb”)检索日期时:

DateTimeFormatter formatter = DateTimeFormat.forPattern("EE dd MMM");

我得到一个日期(解析后):“Saturday, 12 February 00:00”

任何人都可以解释一下吗?我预计 11 日不是 12 日,而是午夜约会。

这是我正在使用的代码:

private static String STYLE = "EE dd MMM";
private static DateTimeFormatter formatter = DateTimeFormat.forPattern(STYLE);
public static DateTime getDate(String str) {
return formatter.parseDateTime(str);
}

String dateExample = "Sat 11 Feb";
log.info(dateExample);
DateTime eventDate = getDate(dateExample);
log.info(eventDate.toString());

这就是记录的内容:

2012-02-09_11:12:40.592 INFO - Sat 11 Feb

2012-02-09_11:12:40.664 INFO - 2000-02-12T00:00:00.000Z

When I retrieve a date from a string e.g. "Sat 11 Feb" using Jodatime formatting classes:

DateTimeFormatter formatter = DateTimeFormat.forPattern("EE dd MMM");

I get back a date (after parsing) of: "Saturday, 12 February 00:00"

Can anyone explain this? I would expect a DateMidnight for the 11th not the 12th.

This is the code I am using:

private static String STYLE = "EE dd MMM";
private static DateTimeFormatter formatter = DateTimeFormat.forPattern(STYLE);
public static DateTime getDate(String str) {
return formatter.parseDateTime(str);
}

String dateExample = "Sat 11 Feb";
log.info(dateExample);
DateTime eventDate = getDate(dateExample);
log.info(eventDate.toString());

And this is what is logged:

2012-02-09_11:12:40.592 INFO - Sat 11 Feb

2012-02-09_11:12:40.664 INFO - 2000-02-12T00:00:00.000Z

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡淡的优雅 2025-01-10 22:54:40

2000 年 2 月 11 日是星期五,而不是星期六。

11 Feb 2000 was a Friday, not a Saturday.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文