如何使用 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 将字符串日期转换为毫秒的最佳方法是什么?

-61495771847000Sun Apr 11 0021 09:09:13,也就是你给的值

如果您希望 21 年被解析为 2021 年,那么您应该只指定一个 2 位数的年份模式,即 yy,而不是 yyyy。如果你这样做,你会得到 1618132153000 作为结果。