【问题标题】:Java TIMESTAMP has trailing zeros, how do I remove?Java TIMESTAMP 有尾随零,如何删除?
【发布时间】:2011-10-27 03:29:06
【问题描述】:

我正在将 Java 与 hibernate 结合使用,并且正处于学习一切工作原理的早期阶段。我进展缓慢,但我在 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。

【问题讨论】:

    标签: java hibernate date timestamp temporal


    【解决方案1】:

    不清楚为什么要将Date 格式化为整数,但这是一个简单的生活事实,Java Date 以毫秒为单位 - 而 PHP 可能以秒为单位(因为 Unix纪元)。

    不过,这是一种内部表示,大多数时候你不应该关心它。如果您要传输该整数,请随意除以一千,将其从基于毫秒的表示转换为基于秒的表示。

    如果您能更清楚地了解如何看待整数,我们或许可以提供更多帮助。

    【讨论】:

    • Java 和 PHP 通过 JSON API 进行通信,这是将日期转换为整数的地方(我认为)。不过,了解 UNIX 时间戳在 Java 和 PHP 之间工作方式的差异应该会有所帮助。干杯。
    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 2018-09-28
    • 2019-02-03
    • 2020-01-25
    相关资源
    最近更新 更多