如何在我的一个PHP文件而不是配置文件中更改默认时区


how to change the default time zone in just one of my php file not config file?

我必须更改我的一个服务的时区;所以只有一个文件不在配置中,所有PHP文件!我怎么能这样!在该文件中,我正在使用 filectime,但显然它使用的是另一个时区!

感谢您的帮助。

如果您需要更多说明,请告诉我

添加:

很抱歉这么说,但仍然使用date_default_timezone_set我的城市后,我的问题没有解决!我有一个文件,其创建是:Nov 07 2013 7:36:50,但是在为我的城市使用时区函数和以下代码之后:

 $createTime = filectime($dirPath . '/' . $file);

$creattime仍然是:2013-11-08T00:36:50Z

所以似乎时区对文件时间没有任何影响! 除了在我的文件时间的结果中添加小时(差异小时)来调整差异之外,还有其他更好的方法吗?

谢谢

你可能会

发现php date_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>";

这是一个工作示例。