我使用date("Y-m-d H:i:s");获取当前日期时间格式,但结果与我的Windows系统不匹配。
示例:
<?php
echo "Current date time: ".date("Y-m-d H:i:s")."<br />";
?>示例代码显示结果:
当前日期: 2012-05-30 01:58:21
但我的Windows系统日期是2012-05-30 09:56:04
我尝试使用date_default_timezone_set('Asia/Singapore')函数来获取区域日期时间,并且它是工作的,但我希望它在我的php.ini.中设置为默认值。
例如:(工作)
<?php
date_default_timezone_set('Asia/Singapore');
echo "Current date time: ".date("Y-m-d H:i:s")."<br />";
?>我还尝试在php.ini中设置默认值,即date.timezone = ""更改为date.timezone = "Asia/Singapore",但不起作用。
我使用Windows 7家庭高级64位和php-5.3.13-Win32-VC9-x86。有人知道如何在这些价值之间进行匹配吗?
发布于 2012-05-30 03:18:05
date_default_timezone_set将取代php默认的时区设置,而不需要重新启动任何东西。但在你的情况下,它不起作用。太奇怪了。试试看,这是我的最后一招:
<?php
header('Content-Type: text/plain');
//date_default_timezone_set('Asia/Singapore');
date_default_timezone_set('Etc/GMT+8');
echo date("Y-m-d H:i:s A T", time());
?>更新:
由于您需要的是一个默认的php时区和永久解决方案,而不需要使用date_default_timezone_set,因此遵循以下几个简单步骤:
<?php echo phpinfo(); ?>
phpinfo.php的文件,其中包含一行内容: http:// localhost /phpinfo.php,并查找Loaded Configuration File。示例值为C:\wamp\bin\apache\Apache2.2\bin\php.ini
php.ini文件带有记事本。查找[Date]并按以下方式修改:Date;定义date函数使用的默认时区;http://php.net/date.timezone date.timezone =http://php.net/date.timezonedate.timezone并重新启动apache。再次运行您的datetime.php。也可以直接从phpinfo.php在h1头date下验证,方法是确保默认时区被读为“亚洲/新加坡”,如下所示:

发布于 2012-05-30 02:23:26
中验证到该文件的路径
发布于 2012-05-30 02:19:37
您需要定义默认的时区
date_default_timezone_set('Asia/Singapore');更新
更改PHP后,您是否重新启动了服务器?
https://stackoverflow.com/questions/10809187
复制相似问题