Postgresql:在时间戳上添加24小时

时间:2017-05-23 08:51:15

标签: postgresql

您好我必须在postgres db中从字符串转换的时间戳上添加24小时。

这里是我的代码:

select to_timestamp(timestamp_start, 'YYYY-MM-DD HH24:MI:SS.US') + interval '24 hour' as tstamp from tablename

查询有效,但在时间戳结束时添加了两个0:“2017-05-23 17:35:13.105867 + 00”

为什么以及如何解决它?

1 个答案:

答案 0 :(得分:1)

+00表示它是带时区的时间戳,您的客户端时区是UTC。

如果您不想在屏幕上显示 +00 ,请将其投放到timestamp without timezone,例如:

t=# select now();
              now
-------------------------------
 2017-05-23 09:04:46.105322+00
(1 row)

Time: 0.690 ms
t=# select now()::timestamp;
            now
----------------------------
 2017-05-23 09:04:51.849522
(1 row)

Time: 0.537 ms

因此,对于原始帖子中的查询,它将是:

select (to_timestamp(timestamp_start, 'YYYY-MM-DD HH24:MI:SS.US') + interval '24 hour')::timestamp as tstamp 
from tablename