如何使用 Joda (java) 将字符串日期转换为毫秒?

问题描述

就我而言,我有: “星期日,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 将字符串日期转换为毫秒的最佳方法是什么?

解决方法

-61495771847000Sun Apr 11 0021 09:09:13,这是你给的值。

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...