问题描述
就我而言,我有: “星期日,4 月 21 日 09:09:13 +0000”
我的代码是:
Long result = null;
try {
DateTimeFormatter dateFormatterRSSPubDate = DateTimeFormat.forPattern("EEE,dd MMM yyyy HH:mm:ss Z");
result = dateFormatterRSSPubDate.parseMillis(givenStringDate);
if(result!=null && result>=0)
return result;
} catch (Exception e) {
// logging
}
但它返回一个负数,例如: -61495771847000
我做错了吗? 如果是这样,在 Java 中使用 Joda 将字符串日期转换为毫秒的最佳方法是什么?
解决方法
-61495771847000
是 Sun Apr 11 0021 09:09:13
,这是你给的值。
如果您希望年份 21
被解析为 2021 年,那么您应该只指定一个 2 位数的年份模式,即 yy
,而不是 yyyy
。如果你这样做,你会得到 1618132153000
作为结果。