【发布时间】:2011-02-12 08:26:59
【问题描述】:
我的 php 文件托管在世界其他地方。 date() 和 time() 函数返回服务器上的日期/时间。如何转换该日期以使其与我的本地日期/时间相同?
服务器上的日期比我的当地时间晚 10 小时。我可以硬编码并从服务器时间中减去它。但是,正确的方法是什么,以便不必硬编码任何值?
【问题讨论】:
标签: php
我的 php 文件托管在世界其他地方。 date() 和 time() 函数返回服务器上的日期/时间。如何转换该日期以使其与我的本地日期/时间相同?
服务器上的日期比我的当地时间晚 10 小时。我可以硬编码并从服务器时间中减去它。但是,正确的方法是什么,以便不必硬编码任何值?
【问题讨论】:
标签: php
time() 不返回“服务器上的时间”,即它返回与本地时区无关的 UNIX-timestamp(它始终使用 GMT 作为时区)。 date() 根据服务器的时区将 UNIX 时间戳等格式化为用户可读的格式。您可以使用date_default_timezone_set() 设置自定义时区(将其放在您的 index.php 或 config.php 中)。有关支持的时区列表,请查看http://php.net/manual/en/timezones.php。
基本上,您可以对每个时区使用 time()(它使用固定时区,因此在“不同时区”中它的值将相同),并且 date() 与 date_default_timezone_set() 一起用于打印日期/时间。
【讨论】:
可以使用这个功能date_default_timezone_set
date_default_timezone_set('Europe/Zurich');
我想这会得到它,这是list of timezones
希望这会有所帮助:)
【讨论】: