如何使用 Joda (java) 将字符串日期转换为毫秒?
How to convert a string date to millis with Joda (java)?
就我而言,我有:
“21 年 4 月 11 日,星期日 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
}
但它 returns 是一个负数,例如:
-61495771847000
我是不是做错了什么?
如果是这样,在 java 中使用 Joda 将字符串日期转换为毫秒的最佳方法是什么?
-61495771847000
是Sun Apr 11 0021 09:09:13
,也就是你给的值
如果您希望 21
年被解析为 2021 年,那么您应该只指定一个 2 位数的年份模式,即 yy
,而不是 yyyy
。如果你这样做,你会得到 1618132153000
作为结果。
就我而言,我有: “21 年 4 月 11 日,星期日 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
}
但它 returns 是一个负数,例如: -61495771847000
我是不是做错了什么? 如果是这样,在 java 中使用 Joda 将字符串日期转换为毫秒的最佳方法是什么?
-61495771847000
是Sun Apr 11 0021 09:09:13
,也就是你给的值
如果您希望 21
年被解析为 2021 年,那么您应该只指定一个 2 位数的年份模式,即 yy
,而不是 yyyy
。如果你这样做,你会得到 1618132153000
作为结果。