我已经改变了在MySQL中使用"datetime"标记来保存日志提交到DB的时间的方式。
我将其保存为日期格式("Y-m-d G:i:s")这样输出:2012-02-22 20:20:01
唯一的问题是我在英国,而我的主机/服务器不是。
我已经找到了如何编辑时间,使其与英国时间保持一致:date=date("Y-m-d G:i:s",strtotime("+14"))
所以现在我有时间了,我以为我会没事的,但现在我注意到日期与英国的日期/时间不一致。
如果我现在提交,它将显示:22012-02-22 20:25:36,而时间/日期实际上是201202-23 20:20:01。
所以看起来是这样的,因为我的剧本落后了14个小时,它把日期提前到了。
有什么办法我能修好吗?
谢谢,山姆!
将其包含在程序中
date_default_timezone_set("欧洲/伦敦");
在php.ini文件中添加这一行:
date.timezone = "Europe/London"
现在,无论何时使用日期或时间函数,它都会根据您指定的内容进行调整。
完整的欧洲时区列表:
http://www.php.net/manual/en/timezones.europe.php
利用PHP日期时间模块:支持的时区
$tz = new DateTimeZone('Pacific/Kiritimati'); // Change this to YOUR needed Timezone
$datetime_GMT = new DateTime(strtotime($server_or_SQL_date));
$datetime_GMT->setTimezone($tz);
$datetime_GMT->format("Y-m-d G:i:s");
echo $datetime_GMT;