繁体   English   中英

从UTC中的日期和时间获取时间戳

[英]Get timestamp from date & time in UTC

我有具有日期和时间与时区的表。

date_time_table
+------------+--------------+
|   date_t   |   time_tz    |
+------------+--------------+
| 2016-05-13 | 23:00:00 -02 |
| 2016-05-14 | 13:00:00 +06 |
+------------+--------------+

之后,我运行SQL查询“ UTC”时间

SELECT timetz AT TIME ZONE 'UTC' FROM date_time_tz

结果是:

+--------------+
|   time_tz    |
+--------------+
| 01:00:00 +00 |
| 07:00:00 +00 |
+--------------+

我也可以编写将date_t与time_tz组合在一起的SQL以便与日期一起计算吗?

我期望的结果是:

+------------+------------+
|      date_time_tz       |
+------------+------------+
| 2016-05-14 01:00:00 +00 |
| 2016-05-14 07:00:00 +00 |
+------------+------------+

我尝试:

SELECT concat(date_t , ' ' ,time_tz) AT TIME ZONE 'UTC' FROM date_time_table

但这行不通。

如果列是datetime类型:

select (current_date + current_time) at time zone 'UTC';
          timezone          
----------------------------
 2016-07-12 12:06:00.239396

如果这些列是文本:

select ('2016-01-01'::date + '23:00:00 -02'::timetz) at time zone 'UTC';
      timezone       
---------------------
 2016-01-02 01:00:00
SELECT concat(date_t , ' ' ,time_tz)::timestamp AT TIME ZONE 'UTC' FROM date_time_table

尝试像这样铸造

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM