Java TIMESTAMP尾随零,如何删除?

时间:2011-08-15 08:46:12

标签: java hibernate date timestamp temporal

我正在使用带有hibernate的Java,并处于学习一切如何工作的早期阶段。我慢慢地到了那里,但我在Java中的日期遇到了一些麻烦。

我当前的问题是,当我从MySQL数据库获取时间戳时,它最终会有一堆额外的零。当我将其传递给PHP(是的,它是我们正在编写的Java / PHP应用程序)时,格式化日期以不正确的结果结束。

这就是我所看到的:

2000-08-10 14:09:21 // Time in database
965912961000 // Timestamp from Java of this time
965912961 // The PHP equivalent of the database timestamp - using strtotime()

在Java模型中,我有这样的变量设置:

@Temporal (TemporalType.TIMESTAMP)
private Date logTime

所以我的问题是如何摆脱三个尾随零?显然我可以用PHP删除它们,但如果可能的话,我宁愿它来自后端Java。

1 个答案:

答案 0 :(得分:5)

目前尚不清楚为什么要将Date格式化为整数,但生命中的一个简单事实是Java Date是以毫秒为单位测量的 - 而大概是一个以千分之一为单位测量的PHP (自Unix时代以来)。

这是一个内部表示,但大多数时候你不应该关心。如果你要传输那个整数,可以自由地除以一千来将其从基于毫秒的表示转换为基于秒的表示。

如果您可以更清楚地了解如何开始查看整数,我们可能会提供更多帮助。