在PHP中将unix时间转换为UTC日期/时间

jpfvwuh4  于 2023-04-19  发布在  PHP
关注(0)|答案(3)|浏览(122)

UTC 2022-12-11开始于unix时间1670716800(显然可以被24*3600整除)。
在PHP中,我可以这样从左到右转换它:

$Date = "2022-12-11";
echo strtotime ($Date." 00:00 UTC");

正如预期的那样,输出为1670716800。
如果我使用getdate(1670716800),我得到一个日期和时间,但是在我的本地时区,而我想要UTC。
我不想使用面向对象的PHP,如果可以避免的话。

vdzxcuhz

vdzxcuhz1#

我的时区是UTC,所以你会得到不同的结果,但是使用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
up9lanfz

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时间)。

yizd12fk

yizd12fk3#

$timestamp = 1607980736;
$utc_date_time = date('Y-m-d H:i:s', $timestamp);
echo $utc_date_time;

发布时间:2021-12-11 16:45:36

相关问题