java - 将 Java Date 转换为 Epoch 给出了错误的结果

标签 java date format converters epoch

我正在使用代码将 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 as 1359189295705 这实际上是 Sat, 26 Jan 2013格林威治标准时间 08:34:55 但今天是星期五,为什么说是 2013 年 1 月 26 日星期六。

最佳答案

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

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

当您应该使用 MM 时,您正在为这个月使用 mm。日期格式应为:

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

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

关于java - 将 Java Date 转换为 Epoch 给出了错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231377/

相关文章:

java - 从不同于类路径的位置加载 spring XML 以在 Servlet 中获取 bean

javascript - 使用 Javascript 将数据库日期转换为短日期

Python Tkinter GUI乱码打印格式

git:时区和时间戳格式

C# 错误 : Input string was not in a correct format

java - ConcurrencyHashMap 和 BashProcessing

java - 在 Java Graphics2D 中绘制透明图像

php - MySql 在选择查询中返回不正确的日期值

php - 检查日期是否在未来 3 天内 PHP

java - 使用单个 ExceptionMapper 捕获 Jackson 抛出的任何异常