java 中迄今为止的时间戳不正确

Timestamp to Date not correct in java

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

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

预期:

这是我的代码

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

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

Date class 除了向后兼容性外,大部分已过时。相反,使用现代 java.time classes:

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