与 UTC 相关的带时区的时间戳
Timestamp with timezone in relation to UTC
我的数据库中有这个时区 America/Sao_Paulo
。
示例:
2017-02-07 10:06:32.157564-02
ts = db.Column(db.DateTime(timezone=True), index=True, server_default=func.now())
我的问题是,这意味着 10:06:32
已经比 UTC 少两个小时了吗?所以 -2 只是提供信息,这是正确的时间。
或者这意味着我们需要从 10:06:32
中减去两个小时 (-2) 以获得 America/Sao_Paulo
时区的正确时间?
我在 GMT+2 atm,所以为了模拟你的 tz,我将它设置为你的,然后 select 你的时间 ATM 和 UTC 时间在同一时刻:
t=# set timezone TO 'America/Sao_Paulo';
SET
Time: 0.222 ms
t=# select now() sao_paulo, now() at time zone 'UTC' utc;
sao_paulo | utc
-------------------------------+----------------------------
2017-02-07 13:54:35.112992-02 | 2017-02-07 15:54:35.112992
(1 row)
Time: 0.163 ms
我的数据库中有这个时区 America/Sao_Paulo
。
示例:
2017-02-07 10:06:32.157564-02
ts = db.Column(db.DateTime(timezone=True), index=True, server_default=func.now())
我的问题是,这意味着 10:06:32
已经比 UTC 少两个小时了吗?所以 -2 只是提供信息,这是正确的时间。
或者这意味着我们需要从 10:06:32
中减去两个小时 (-2) 以获得 America/Sao_Paulo
时区的正确时间?
我在 GMT+2 atm,所以为了模拟你的 tz,我将它设置为你的,然后 select 你的时间 ATM 和 UTC 时间在同一时刻:
t=# set timezone TO 'America/Sao_Paulo';
SET
Time: 0.222 ms
t=# select now() sao_paulo, now() at time zone 'UTC' utc;
sao_paulo | utc
-------------------------------+----------------------------
2017-02-07 13:54:35.112992-02 | 2017-02-07 15:54:35.112992
(1 row)
Time: 0.163 ms