您可能会发现 phpdate_default_timezone_set()
很有帮助。
date_default_timezone_set() 设置所有日期/时间函数使用的默认时区。
例如:
date_default_timezone_set('America/Los_Angeles');
这是支持的时区列表。
编辑:
我忽略了您正在使用filectime()
. 该函数返回一个 unix 时间戳,它不包含任何时区数据。所以date_default_timezone_set()
不会影响那些结果。
相反,您可以将日期对象从服务器的时区“翻译”到 PHP 中的不同时区,如下所示:
// for testing purposes, get the timestamp of __FILE__
// replace __FILE__ with the actual file you want to test
$time_created=filectime(__FILE__);
// build date object from original timestamp
$date=new DateTime(date('r',$time_created));
// translate the date object to a new timezone
date_timezone_set($date, timezone_open('America/Los_Angeles'));
// output the original and translated timestamps
echo"<p>Original Timestamp: ".date('r',$time_created)."</p>";
echo"<p>Los Angeles Timestamp: ".date_format($date,'r')."</p>";
这是一个工作示例。