从两个不同的日子中提取纪元会产生相同的结果
Extracting epoch from two different days yields same result
如果我 运行 在我的数据库上进行此查询
SELECT EXTRACT('epoch' FROM age('2021-01-01'::date, '2019-12-01'::date))
结果是34149600
。
但是如果我尝试使用 2019-12-02(多一天)
SELECT EXTRACT('epoch' FROM age('2021-01-01'::date, '2019-12-02'::date))
结果完全一样34149600
!
好像从 2019 年 12 月 2 日到 2021 年 1 月 1 日的秒数与从 2019 年 12 月 1 日到 2021 年 1 月 1 日的秒数相同。
这是为什么?我已经在所有日期(2021 年 1 月 1 日、2019 年 12 月 1 日和 2021 年 12 月 2 日)的 00:00:00+00 时区尝试了上述代码,它给出了相同的结果
显然,我本以为纪元会有所不同,大约相差 3600*24(一天中的秒数)。
类似的结果来自 age()
函数,该函数 returns 以年、月、日为间隔。在这样的时间间隔里,1个月=30天,所以他们的秒数转化率差不多。
你会得到预期的结果
SELECT extract(epoch from ('2021-01-01'::timestamp - '2019-12-01'::timestamp)) => 34300800.000000
SELECT extract(epoch from ('2021-01-01'::timestamp - '2019-12-02'::timestamp)) => 34214400.000000
如果我 运行 在我的数据库上进行此查询
SELECT EXTRACT('epoch' FROM age('2021-01-01'::date, '2019-12-01'::date))
结果是34149600
。
但是如果我尝试使用 2019-12-02(多一天)
SELECT EXTRACT('epoch' FROM age('2021-01-01'::date, '2019-12-02'::date))
结果完全一样34149600
!
好像从 2019 年 12 月 2 日到 2021 年 1 月 1 日的秒数与从 2019 年 12 月 1 日到 2021 年 1 月 1 日的秒数相同。
这是为什么?我已经在所有日期(2021 年 1 月 1 日、2019 年 12 月 1 日和 2021 年 12 月 2 日)的 00:00:00+00 时区尝试了上述代码,它给出了相同的结果
显然,我本以为纪元会有所不同,大约相差 3600*24(一天中的秒数)。
类似的结果来自 age()
函数,该函数 returns 以年、月、日为间隔。在这样的时间间隔里,1个月=30天,所以他们的秒数转化率差不多。
你会得到预期的结果
SELECT extract(epoch from ('2021-01-01'::timestamp - '2019-12-01'::timestamp)) => 34300800.000000
SELECT extract(epoch from ('2021-01-01'::timestamp - '2019-12-02'::timestamp)) => 34214400.000000