Db2:如何将Unix/epoch时间转换为时间戳?

Db2:如何将Unix/epoch时间转换为时间戳?,db2,ibm-cloud,epoch,dashdb,Db2,Ibm Cloud,Epoch,Dashdb,我有一个BIGINT值,它表示UNIX时间戳(历元)。如何将其转换为内置时间戳类型 例如,我想将1611140400转换为相关的日期和时间。时间戳格式不起作用。您可以在Db2和Db2 on Cloud中使用。对于云上Db2(以UTC运行): 纪元是自1970年1月1日GMT/UTC起的秒数。因此,将您的数字作为秒添加到该日期将得到: 2021-01-20 11:00:00.0 如果您在不同的时区运行,您需要注意它,例如: VALUES (TIMESTAMP(‘1970-01-01-00.00.0

我有一个BIGINT值,它表示UNIX时间戳(历元)。如何将其转换为内置时间戳类型

例如,我想将1611140400转换为相关的日期和时间。时间戳格式不起作用。

您可以在Db2和Db2 on Cloud中使用。对于云上Db2(以UTC运行):

纪元是自1970年1月1日GMT/UTC起的秒数。因此,将您的数字作为秒添加到该日期将得到:

2021-01-20 11:00:00.0

如果您在不同的时区运行,您需要注意它,例如:

VALUES (TIMESTAMP(‘1970-01-01-00.00.00.000000’) + 1611140400 seconds + current timezone)

Unix epoch time是自1970-01-01 00:00:00 GMT以来的秒数,因此在转换为本地时间戳时需要考虑这一点(除非您已经在GMT中):
VALUES TIMESTAMP('1970-01-01-00.00.00.000000')+1611140400秒+当前时区
添加了它,而且云上的Db2也是UTC
VALUES (TIMESTAMP(‘1970-01-01-00.00.00.000000’) + 1611140400 seconds + current timezone)