相关疑难解决方法(0)

PostgreSQL错误地从没有时区的时间戳转换为带时区的时间戳

今天早上我遇到了以下问题:

select '2011-12-30 00:30:00'::timestamp without time zone AT TIME ZONE 'EST5EDT';
Run Code Online (Sandbox Code Playgroud)

回报我2011-12-30 05:30:00+00女巫是错的.

但下面的查询如下:

select '2011-12-30 00:30:00'::timestamp without time zone AT TIME ZONE 'UTC-5';
select '2011-12-30 00:30:00' AT TIME ZONE 'EST5EDT';
Run Code Online (Sandbox Code Playgroud)

我看到了正确的约会 2011-12-29 19:30:00

防止您对我当地时区的提问:

SELECT  current_setting('TIMEZONE');
current_setting
-----------------
     UTC
(1 row)
Run Code Online (Sandbox Code Playgroud)

有没有人回答为什么postgresql会转换timestamp without time zone一些奇怪的方式而不是带走5个小时呢?

postgresql timezone

48
推荐指数
1
解决办法
3万
查看次数

如何格式化UTC日期以在PHP中使用Z(Zulu)区域指示符?

我需要以下列格式显示和处理UTC日期:

2013-06-28T22:15:00Z

由于此格式是ISO8601标准的一部分,因此我可以轻松地从上面的字符串创建DateTime对象.但是,我无法找到一种干净的方式(意味着没有字符串操作,如substr和replace等)以所需的格式显示我的DateTime对象.我试图调整服务器和php日期时间设置,但收效甚微.我总是得到:

$date->format(DateTime::ISO8601); // gives 2013-06-28T22:15:00+00:00
Run Code Online (Sandbox Code Playgroud)

是否有任何日期格式或配置设置将给我所需的字符串?或者我必须手动将'Z'附加到自定义时间格式?

php datetime iso8601

39
推荐指数
5
解决办法
4万
查看次数

标签 统计

datetime ×1

iso8601 ×1

php ×1

postgresql ×1

timezone ×1