【问题标题】:Timestamp to Date not correct in java [duplicate]java中的时间戳到日期不正确[重复]
【发布时间】:2022-02-10 01:20:59
【问题描述】:

我正在尝试在 java 中将时间戳转换为日期,但我得到了一个旧日期

结果 1970 年 1 月 20 日星期二 06:13:12 IST

预期:

这是我的代码

   public static void main(String args[]){    
            Date date=new Date(1644192000);  
            System.out.println(date);                     
    } 

【问题讨论】:

    标签: java time


    【解决方案1】:

    除了向后兼容性之外,Date 类大多已过时。相反,请使用现代的 java.time 类:

    Instant timestamp = Instant.ofEpochSecond(1644192000);
    // note the second/millis difference Rob Spoor mentioned
    

    【讨论】:

      【解决方案2】:

      在 Java 中,时间戳以毫秒为单位。在 Unix 上,它们以秒为单位。尝试在您的 Java 时间戳中添加 3 个零(并让它以 L 结尾,以表明它是长整数,而不是整数),您应该会得到相同的结果。

      【讨论】:

      • TimeUnit.SECONDS.toMillis(val) 这样的表达式可以使这种转换变得明确。
      • @erickson 不使用Date 就没有必要了。
      猜你喜欢
      • 2016-08-11
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 2023-03-16
      • 2014-04-29
      • 2012-06-18
      • 1970-01-01
      相关资源
      最近更新 更多