【发布时间】:2011-01-28 08:21:20
【问题描述】:
我需要在 Java 中解析日期的 RFC 2822 字符串表示。示例字符串在这里:
2010 年 3 月 13 日星期六 11:29:05 -0800
它看起来很糟糕,所以我想确保我做的一切都是正确的,并且稍后会遇到奇怪的问题,因为通过 AM-PM/军事时间问题、UTC 时间问题、我不知道的问题来解释错误的日期预测等等……
谢谢!
【问题讨论】:
-
您是否尝试过使用
java.text.SimpleDateFormat? -
这看起来很适合使用,我也担心正确的格式字符串是什么,看起来很容易搞砸。这似乎是 RFC 2822 的正确字符串:“EEE, d MMM yyyy HH:mm:ss Z”(根据下面的答案)
-
这太疯狂了,我从 SimpleDateFormat 官方页面上删除了它。他们的示例在技术上是正确的,但仍然是错误的:java.sun.com/j2se/1.4.2/docs/api/java/text/… 感谢您提醒我,这就是我的代码中的内容。
-
标准来源:Internet Message Format,向下滚动到 3.3 部分。日期和时间规范.