如何使用strtotime()为不同的时区解析字符串

时间:2011-11-26 12:05:15

标签: php timestamp unix-timestamp

我有一个类似于

的输入字符串

“星期一下午2:00”,我需要获得时间戳表示,但我无法弄清楚如何引入不同的时区。

例如,现在我只是做

 $name = "Monday";
 $time_string = "2:00 pm";

 $time_stamp = strtotime("$name $time_string");

这会给我一个时间戳,但是说'America / New_York'中的某个人输入这个对'America / Los_Angeles'中的人来说,时间戳应该是不同的正确吗?

1 个答案:

答案 0 :(得分:3)

我相信你可以在调用strtotime之前设置默认时区:

date_default_timezone_set('America/New_York');

但UNIX纪元始终是UTC,所以我不确定这对时间戳有什么影响:

// New York
date_default_timezone_set('America/New_York');
echo time(); // 1322309733

// London
date_default_timezone_set('Europe/London');
echo time(); // 1322309733