【发布时间】:2014-09-24 06:16:38
【问题描述】:
我正在尝试使用 joda time-1.6.2 进行 时间戳 验证。请指出我的错误并帮助我。 代码
String timestamp = "2014-09-23T23:03:11Z";
String datePattern = "yyyy-MM-dd'T'HH:mm:ssZ";
try {
DateTimeFormatter dateFormatter = DateTimeFormat.forPattern(datePattern);
dateFormatter.parseDateTime(timestamp);
} catch (Exception e) {
LOG.info("Timestamp is invalid format" + e);
}
例外
INFO: Timestamp is invalid formatjava.lang.IllegalArgumentException: Invalid format: "2014-09-23T23:03:11Z" is malformed at "Z"
【问题讨论】:
-
时间戳中的
Z应该是什么?是常数吗? -
我不能在 Z 中使用这种格式或模式
-
@AmilaIddamalgoda 为什么 T 像“T”?但在你的时间戳是 T?
-
@KickButtowski 这就是您在模式中指定文字字符
T的方式,而不是向格式化程序指示字段类型。 -
不需要格式化程序。您可以将符合 ISO 8601 的字符串直接传递给 DateTime 的构造函数,或传递给
DateTime.parse。