UTC 2022-12-11开始于unix时间1670716800(显然可以被24*3600整除)。在PHP中,我可以这样从左到右转换它:
$Date = "2022-12-11"; echo strtotime ($Date." 00:00 UTC");
正如预期的那样,输出为1670716800。如果我使用getdate(1670716800),我得到一个日期和时间,但是在我的本地时区,而我想要UTC。我不想使用面向对象的PHP,如果可以避免的话。
getdate(1670716800)
vdzxcuhz1#
我的时区是UTC,所以你会得到不同的结果,但是使用date_default_timezone_set()函数来确定date()函数将如何处理时间戳
date_default_timezone_set()
date()
$Date = "2022-12-11"; $tstamp = strtotime ($Date." 00:00:00 UTC"); echo date_default_timezone_get() . '-'; echo date('Y/m/d H:i:s', $tstamp) . PHP_EOL. PHP_EOL; date_default_timezone_set('America/Los_Angeles'); echo date_default_timezone_get() . '-'; echo date('Y/m/d H:i:s', $tstamp) . PHP_EOL. PHP_EOL; date_default_timezone_set('Australia/Brisbane'); echo date_default_timezone_get() . '-'; echo date('Y/m/d H:i:s', $tstamp) . PHP_EOL;
结果
UTC-2022/12/11 00:00:00 America/Los_Angeles-2022/12/10 16:00:00 Australia/Brisbane-2022/12/11 10:00:00
up9lanfz2#
gmdate("Y-m-d H:i:s", 1670716800)返回"2022-12-11 00:00:00"。gmdate("Y-m-d H:i:s")以该格式返回当前GMT/UTC时间(因为GMT时间被定义为等于UTC时间)。
gmdate("Y-m-d H:i:s", 1670716800)
"2022-12-11 00:00:00"
gmdate("Y-m-d H:i:s")
yizd12fk3#
$timestamp = 1607980736; $utc_date_time = date('Y-m-d H:i:s', $timestamp); echo $utc_date_time;
发布时间:2021-12-11 16:45:36
3条答案
按热度按时间vdzxcuhz1#
我的时区是UTC,所以你会得到不同的结果,但是使用
date_default_timezone_set()
函数来确定date()
函数将如何处理时间戳结果
up9lanfz2#
gmdate("Y-m-d H:i:s", 1670716800)
返回"2022-12-11 00:00:00"
。gmdate("Y-m-d H:i:s")
以该格式返回当前GMT/UTC时间(因为GMT时间被定义为等于UTC时间)。yizd12fk3#
发布时间:2021-12-11 16:45:36