当前位置: 首页 > 面试题库 >

为什么Joda DateTimeFormatter无法解析时区名称('z')

后凯捷
2023-03-14
问题内容

从DateTimeFormatter javadoc:

区域名称:时区名称(’z’)无法解析。

因此,时区解析如下:

System.out.println(new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy").parse("Fri Nov 11 12:13:14 JST 2010"));

在Joda中无法完成:

DateTimeFormatter dtf = DateTimeFormat.forPattern("EEE MMM dd HH:mm:ss z yyyy");
System.out.println(dtf.parseDateTime("Fri Nov 11 12:13:14 JST 2010"));
//Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "Fri Nov 11 12:13:14 JST 2010" is malformed at "JST 2010"
//at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:673)

问题答案:

我认为原因是“ z”时区名称是常规名称(不是标准化的)且模棱两可;也就是说,根据您的原籍国,它们的含义不同。例如,“
PST”可以是“太平洋标准时间”或“巴基斯坦标准时间”。

如果您有兴趣,此站点上列出了大量时区名称。发现存在歧义的情况并不难。



 类似资料:
  • 问题内容: 我一直在尝试导入以下Web服务:http : //soap.genome.jp/KEGG.wsdl和$ {JAVA_HOME} / bin / wsimport: 但出现以下错误: 问题是来自WSDL还是来自wsimport的实现?我应该使用其他工具吗? 谢谢 皮埃尔 问题答案: 我从此错误报告中发现了(显然是)解决方法:https : //netbeans.org/bugzilla/

  • 我正试图通过MoneySend API在万事达卡的沙箱上提出付款请求。下面是C#的示例代码,也可以在这里找到 问题陈述: 完全异常: mastercard.core.exceptions.apiExceptions:无法解析远程名称:“sandbox.api.mastercard.com”-->system.net.webException:无法解析远程名称:“sandbox.api.master

  • 这样的问题已经问过好几次了,我明白为什么会发生,大概除了重试,我们对此无能为力。 我有一个关于名称解析的问题。 我使用的是3.5.NET的AWS.NET SDK。我正在上传一个大文件(>500MB到1.5GB,医学图像)。我调用方法。 错误发生在大约250MB上载完成后。 这是实际的例外

  • 类无法解析,为什么?这就引出了一个问题:在哪里可以找到的javadoc? null

  • 我正在使用Client编写一个Eureka客户端应用程序。这是我的POM 如您所见,我使用的是spring boot版本