我有一个PHP
中的Unix时间戳:
$timestamp = 1346300336;
然后我有一个时区偏移量需要应用。基本上,我想应用这个偏移量并返回一个新的Unix时间戳。该偏移量遵循以下格式,不幸的是由于与其他代码的兼容性问题不能更改:
$offset_example_1 = "-07:00";
$offset_example_2 = "+00:00";
$offset_example_3 = "+07:00";
我尝试过:
$new_timestamp = strtotime($timestamp . " " . $offset_example_1);
但是不幸的是,这并不能起作用 :(. 有其他的想法吗?
编辑
经过测试,我非常惊讶,但即使这样也不起作用:
strtotime("1346300336 -7 hours")
返回 false。
让我们换个方式看待这个问题,如何将上面的偏移示例转换为秒?然后我就可以简单地执行
$timestamp + $timezone_offset_seconds
。
strtotime("-07:00", 1346300336)
能正常工作吗?我得到的结果是原始时间戳1346300336
。 - Justinstrtotime("-07:00", 1346300336)
时,我得到了相同的结果1346300336
。 - Justinstrtotime("-7 hours", 1346300336)
。你漏掉了 hours 这个单词。 - Maduka Jayalath