我的php文件托管在世界其他地方。 date()
和time()
函数返回服务器上的日期/时间。如何转换该日期以使其与我的本地日期/时间相同?
服务器上的日期比当地时间晚10个小时。我可以从服务器时间硬编码并减去它。但是正确的方式是什么,以便不必对任何值进行硬编码?
答案 0 :(得分:9)
可以使用此功能date_default_timezone_set
date_default_timezone_set('Europe/Zurich');
我认为这会得到它,这是一个list of timezones
希望这会有所帮助:)
答案 1 :(得分: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()一起使用印刷日期/时间。