java - 使用 SimpleDateFormat 时出错

标签 java parsing simpledateformat

我正在尝试使用 SimpleDateFormat 类从该字符串中解析 DateTime:

2012 年 7 月 5 日 11:38:02,442 UTC 上午

我尝试了以下格式字符串:

SimpleDateFormat dateformatYYYYMMDD = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a");

Date temp = dateformatYYYYMMDD.parse(time);

但它会产生错误:

错误:无法解析的日期:“”

如果我使用 zZ,我会得到:错误:无法解析的日期:“05-Jul-2012 11:38:02,442 UTC AM”

关于如何解决这个问题的任何提示?

最佳答案

您提供的代码对我来说工作正常。也许问题是您的语言环境?尝试在创建 SimpleDateFormat 时指定它:

SimpleDateFormat format =new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a",
                                              Locale.US);

这样它将尝试查找美国月份和 am/pm 指示符名称。

关于java - 使用 SimpleDateFormat 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11507845/

相关文章:

Java SimpleDateFormat 无法正确解析(我使用正确的大写/小写字母..)

java - 解析奇怪的日期字符串?

java - 当 OR 正则表达式组的两半匹配时,是否定义了将选择哪一个?

java - 计划从 Aws Java Sdk 触发 Lambda

Java XML 解析 - 删除第一个标签

用于替换 C 文件中的#define 值的 Python 脚本

parsing - 如何为相互递归的 ADT 编写一个解析器,而不产生递归和副作用?

java - Android 上的 Azure 移动服务在更新时返回 "The id must be numeric"

java - 为什么这个简单的 jparsec 词法分析器会失败?

java - 与日期格式相关的问题