我有一个准确的日期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值。只是,文档中没有任何内容表明这是有效的。
由于您的时间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