2010-04-26 133 views
3

我的php文件在世界其他地方托管。 date()time()函数返回服务器上的日期/时间。如何将该日期转换为与当地日期/时间相同?如何将服务器时间转换为当地时间?

服务器上的日期比我当地时间晚10个小时。我可以硬编码,并从服务器时间减去这个。但是什么是适当的这样做的方式,以便没有值必须硬编码?

+0

可能的重复http://stackoverflow.com/questions/2505681/timezone-conversion-in-php – Gordon 2010-04-26 10:37:46

+0

*(参考)* http://de3.php.net/manual/en/datetime.settimezone.php – Gordon 2010-04-26 10:38:19

+0

http://stackoverflow.com/questions/2607545/date-function-problem/2607578可能的重复 – Gordon 2010-04-26 10:39:10

回答

5

time()不返回 “时间在服务器上” ,即它返回与本地时区无关的UNIX时间戳(它始终使用GMT作为时区)。 date()根据服务器的时区将UNIX时间戳格式化为用户可读的格式。您可以使用date_default_timezone_set()设置自定义时区(将其放入index.php或config.php中)。有关支持的时区列表,请查看http://php.net/manual/en/timezones.php。基本上,你可以对每个时区使用time()(它使用固定时区,所以它的值在“不同时区”中是相同的),date()和date_default_timezone_set()一起使用,用于打印日期/时间。

相关问题