【问题标题】:Unix timestamp creation in java [duplicate]java中的Unix时间戳创建[重复]
【发布时间】:2019-01-18 01:41:09
【问题描述】:

可能重复:
Getting unix timestamp from Date()

我有约会

Fri, 09 Nov 2012 23:40:18 GMT

我应该如何将它转换为像 java 中的 '1352504418' 这样的 Unix 时间戳

【问题讨论】:

    标签: java date time


    【解决方案1】:

    先得到日期对象,然后得到时间单位为毫秒(01/01/1970 00:00:00后的毫秒),最后除以毫秒乘以 1000 得到秒,这是 UNIX 时间。你已经完成了。

    例如

        String dateString = "Fri, 09 Nov 2012 23:40:18 GMT";
        DateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss z");
        Date date = dateFormat.parse(dateString );
        long unixTime = (long) date.getTime()/1000;
        System.out.println(unixTime );//<- prints 1352504418
    

    【讨论】:

    • 如果您的 unix 时间稍后将用于从中获取日期(例如,通过前端 - JavaScript 日期构造函数),则不要除以 1000。这会使事情变得复杂。
    【解决方案2】:

    Date.getTime 提供“自 1970 年 1 月 1 日 00:00:00 以来的毫秒数”,与 Unix 时间 * 1000 相同。

    【讨论】:

      猜你喜欢
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多