Java 到目前为止我的int时间戳未运行

Java 到目前为止我的int时间戳未运行,java,jakarta-ee,timestamp,Java,Jakarta Ee,Timestamp,我正在尝试创建一个方法,该方法返回时间戳的日期,但转换未正确运行日期未获取全部值: String stringDate = "" + operationDate; // operationDate is my timestamp : 1235437200 Long date = Long.valueOf(stringDate); // date worth 1235437200 Date now = new Date(date); // date show me the date of 1235

我正在尝试创建一个方法,该方法返回时间戳的日期,但转换未正确运行日期未获取全部值:

String stringDate = "" + operationDate; // operationDate is my timestamp : 1235437200
Long date = Long.valueOf(stringDate); // date worth 1235437200
Date now = new Date(date); // date show me the date of 1235437 (not 1235437200)
我怎样才能使这些线路工作?我不是Java专家,但Princi是有效的

感谢阅读/帮助我:-

编辑

当我现在显示最后的日期时,它给我的是1970年1月15日星期四08:10:37,时间戳是1235473。。。我给了她12354737200,多亏了date Long的值

我的导入文件是

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
编辑2:

给我

INFO: stringDate => 1325437200
INFO: date => 1325437200
INFO: now => Fri Jan 16 09:10:37 CET 1970
INFO: now.toString => Fri Jan 16 09:10:37 CET 1970

date对象需要毫秒而不是unix时间戳,因此需要乘以1000

Date now = new Date((long)date * 1000);  
System.out.println("now => " + now );

对不起,你的问题很不清楚。什么是1235437200?是从纪元开始的毫秒吗?还有什么?你确定你的日期是对的吗?对我有用。@bizi:我已经更新了帖子。@Jim:这是变量operationTime中的时间戳。@svachalek:谢谢。请检查我的编辑谢谢,但是为什么我们必须*1000?我做错什么了吗?@clement unix时间戳是自1970年1月1日以来的秒数。因此,要以毫秒为单位转换秒数,请乘以1000:
Date now = new Date((long)date * 1000);  
System.out.println("now => " + now );