php根据给定的GMT偏移设置我自己的时区

时间:2014-09-17 21:38:29

标签: php datetime timezone

我的GMT偏移在几秒钟内完成。我想set_default_time_zone()对GMT的偏移。我的意思是,如果我将GMT偏移量设置为2小时(7200秒),它会将时区设置为GMT + 2,如果我有3小时(10800秒),它会将时区设置为GMT + 3,我该怎么做? set_default_time_zone()只接受预定义的时区字符串。

1 个答案:

答案 0 :(得分:1)

您可以使用GMT偏移量,但必须使用Etc前缀。以下作品:

date_default_timezone_set('Etc/GMT+5');

但不建议弃用,请参阅此处:http://php.net/manual/en/timezones.others.php

另外,我个人建议不要使用偏移量,因为在日期/时间处理中存在许多陷阱,其中GMT偏移会导致不良结果(例如DST,一周的第一天)。

通常建议在内部使用UTC,并将当地时间设置为地理时区而不是GMT偏移量。