【问题标题】:convert unix timestamp to H2 timestamp将 unix 时间戳转换为 H2 时间戳
【发布时间】:2013-04-07 09:18:32
【问题描述】:

如何将 1348560343598 等 unix 时间戳值转换为 H2 Timestamp

我的一个表在BIGINT(19) 列中包含这些unix 时间戳,我需要将它们转换为TIMESTAMP 类型的列。

【问题讨论】:

    标签: timestamp h2


    【解决方案1】:

    好的,使用以下公式有效:

    select DATEADD('SECOND', 1348560343, DATE '1970-01-01')
    

    记得把时间戳除以1000。用'MILLISECOND'不行,你会得到Numeric value out of range

    【讨论】:

    • 毫秒不起作用:是的,我遇到了同样的问题。其实是Calendar.add(int field, int amount)的限制,内部使用。由于时区问题,H2 不再将java.util.Calendar 用于大多数日期/时间功能,但在这种情况下仍会使用它。
    • 这实际上将其转换为 JVM 时间(因此您不能将其强制为 UTC,这对于在数据库中存储时间戳更有意义)。
    猜你喜欢
    • 2020-10-19
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 2020-07-29
    相关资源
    最近更新 更多