时间差异

时间:2012-06-01 17:50:01

标签: php postgresql date timestamp

我是PostgresQL和PHP的新手,正在使用PostgresQL Timestamp对象,我正在尝试找出现在和时间戳之间的差异,以按年,月和日显示。有没有这样做?

谢谢!

2 个答案:

答案 0 :(得分:0)

select age(now(), '2010-01-02 12:34:35');

完整版:

select substring(a from 1 for (position('days' in a) + 3)) 
from (select (age(now(), '2010-01-02 12:34:35'))::text) s(a)
;
       substring        
------------------------
 2 years 4 mons 30 days
(1 row)

答案 1 :(得分:0)

你可以减去两个时间戳,结果是interval 要获得“现在”,您可以使用now()current_timestamp(以及其他)。

SELECT now() - '2010-02-21 20:11:32';

这将显示如下内容:

830 days 23:00:50.127241

要获得合理的陈述,请使用age() or justify_interval()

SELECT justify_interval(now() - '2010-02-21 20:11:32');

以您似乎在之后的格式显示相同的值:

2 years 3 mons 20 days 23:01:34.095813

如果您想要特定的输出格式,请使用to_char()