java - http header "last-modified"的 joda 日期时间格式错误?

标签 java jodatime

我正在尝试解析一个简单的日期时间,但遇到了异常。为什么?

DateTimeFormat.forPatter("E, dd MMM yyyy HH:mm:ss Z").withLocale(Locale.GERMAN)
       .withOffsetParsed().parseDateTime("Fri, 08 Aug 2014 12:32:12 GMT");

结果:

java.lang.IllegalArgumentException: Invalid format: "Fri, 08 Aug 2014 12:32:12 GMT" is malformed at "i, 08 Aug 2014 12:32:12 GMT"
    at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:899)

最佳答案

您的示例使用 .withLocale(Locale.GERMAN) 这意味着不仅日期 fromat 本身,而且所有相关单词都应该采用德语语言环境。

因此 parseDateTime 方法预计不是“Friday”和“Fri”,而是“Freitag”和“Fre”。如果您想解析类似“Fri, 08 Aug 2014 12:32:12 GMT”的字符串,我建议您坚持使用 Locale.ENGLISH 设置

关于java - http header "last-modified"的 joda 日期时间格式错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007700/

相关文章:

android - 乔达和安卓 : How to format a date for display in the user's locale?

java - 使用 jUnit 进行测试

java - 计算角度的标准偏差?

使用 joda 的 java.util.Date 类

java - Jodatime重叠方法不检查等于

scala - 将字符串解析为 Option[LocalDateTime]

datetime - 如何在 Java 中将 ZoneId 转换为 DateTimeZone

java - 从 astatic 类获取应用程序

java - 即使具有正确的授予权限,Spring Security @Secured 也会拒绝访问

java - 在 Java 中验证 NTLMv2 身份验证