PHP从字符串获取unix时间戳,而未设置默认时区

问题描述 投票:0回答:1

我有一个准确的日期1/1/2020 00:00:00 America/Los_Angeles,我想将其转换为UNIX时间戳。许多答案想在将字符串插入date_default_timezone_set函数之前使用strtotime()设置默认时区。但是我不想弄乱服务器的默认时区(可能是UTC)。

执行strtotime("1/1/2020 00:00:00 America/Los_Angeles")以获取我的时间戳记有什么问题吗?

我以此方式获得正确的UNIX值。只是,文档中没有任何内容表明这是有效的。

php datetime unix-timestamp
1个回答
1
投票

由于您的时间str具有时区,因此无需设置默认时区。但是,当您要打印它时,需要设置默认时区。

php > echo date_default_timezone_get();
UTC

php > echo date("Y-m-d H:i:s",strtotime("1/1/2020 00:00:00 America/Los_Angeles"));
2020-01-01 08:00:00

php > echo date("Y-m-d H:i:s",strtotime("1/1/2020 00:00:00"));
2020-01-01 00:00:00

© www.soinside.com 2019 - 2024. All rights reserved.