Sql 是否将UNIX时间戳转换为区域的本地时间?

Sql 是否将UNIX时间戳转换为区域的本地时间?,sql,presto,Sql,Presto,如何将unix时间字段转换为区域的本地时间 Timestamp 1507576891 1507582204 1508777161 我想在选择转换为欧洲/柏林当地时间时 我正在努力 Select cast(from_unixtime(time, Europe/Berlin) as date) 但我错过了一些东西,因为我希望结果是时间,比如2019-12-12 16:32:00 谢谢你不必投。使用convert_tz转换到您选择的时区 选择convert_tz(从unixtime(eater_

如何将unix时间字段转换为区域的本地时间

Timestamp 
1507576891
1507582204
1508777161
我想在选择转换为欧洲/柏林当地时间时

我正在努力

Select cast(from_unixtime(time, Europe/Berlin) as date)
但我错过了一些东西,因为我希望结果是时间,比如2019-12-12 16:32:00


谢谢

你不必投。使用convert_tz转换到您选择的时区


选择convert_tz(从unixtime(eater_request_epoch),“+00:00”,“+01:00”)作为“localdate”
欧洲/柏林时区为GMT+1,因此您可以执行类似操作

select convert_tz(from_unixtime(1508777161), @@session.time_zone, '+01:00') as 'Europe/Berlin'
// 2017-10-23 17:46:01
更有用:

要获取当前时间,请执行以下操作:

select convert_tz(now(), @@session.time_zone, '+01:00')
// 2019-12-16 09:33:36
并格式化:

SELECT DATE_FORMAT( CONVERT_TZ( NOW( ) , @@session.time_zone , '+01:00' ) , '%b %d %Y %h:%i:%s %p' )
// Dec 16 2019 09:34:30 PM

< P>从时区(EX:印度支那时间GMT+ 7)获得当前时间的MySQL时间:

select timediff(now(),convert_tz(now(), @@session.time_zone, '+07:00'));
合并并:


在哪里转换为我想要的区域时间戳@jared代表欧洲/柏林目标时区是第三个论点+0表示日期以UTC格式保存
CONVERT_TZ(日期,from_TZ,to_TZ)
@贾里德
presto:default> SELECT at_timezone(from_unixtime(1507576891), 'Europe/Berlin');
                 _col0
---------------------------------------
 2017-10-09 21:21:31.000 Europe/Berlin