【问题标题】:Converting Java Date to Epoch gives wrong result将 Java 日期转换为纪元会给出错误的结果
【发布时间】:2013-04-20 07:53:51
【问题描述】:

我正在使用代码将 java Date 对象转换为纪元:

        String str = "" + date;
        SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss.SSS");
        Date formateDate = df.parse(str);
        long epoch = formateDate.getTime();
        return epoch;

如果我用值 2013-04-26 08:34:55.705 测试它,那么它给出的 Long 为 1359189295705,实际上是 Sat, 26 Jan 2013 08:34:55 GMT,但今天是星期五,为什么它说是 2013 年 1 月 26 日的星期六。

【问题讨论】:

    标签: java date format converter epoch


    【解决方案1】:

    它使用的是一月而不是四月。 1 月 26 日确实是一个星期六。它给了你错误的月份,因为你的日期格式错误:

    yyyy-mm-dd HH:mm:ss.SSS
    

    您在本月使用 mm,而您应该使用 MM。日期格式应为:

    yyyy-MM-dd HH:mm:ss.SSS
    

    您的格式没有在任何地方指定月份,所以大概它只是默认为一月。

    【讨论】:

      【解决方案2】:

      月份的格式错误,应该是yyyy-MM-dd,所以你默认是第一个月。

      【讨论】:

        猜你喜欢
        • 2014-10-06
        • 1970-01-01
        • 2018-08-09
        • 1970-01-01
        • 2019-02-19
        • 2018-04-24
        • 2011-12-06
        • 2013-12-23
        • 1970-01-01
        相关资源
        最近更新 更多