我正在本地开发一个网站,当用户在网站上注册时,当前日期和时间存储在TIMESTAMP
列中,但如果我在我的php脚本中做time()
,时间比时间戳列晚2小时!
因此,例如我在30分钟前注册了,数据库列中的时间是08/31/2016 18:23:12
,并且在我的php脚本中,如果我现在回显time()
,我得到08/31/2016 16:51:22
(当变成可读的日期格式时)。我期待得到08/31/2016 18:51:22
既然是同一个本地服务器,为什么时间不同?我不关心这个特殊问题的时区,我只希望mysql时间戳和php time()
是相同的"区域"。
这通常是因为您需要为PHP脚本设置时区。
下面是一个例子:
<?php
// This is some Asian timezone, so your time() function will match this timezone
date_default_timezone_set("Asia/Bangkok");
?>
我的建议是使用<?php $timestamp = time(); ?>
,只是使用MySQL插入和插入到你的数据库,而不是使用MySQL时间戳类型。
使用此函数设置您的时区,您可以在http://www.php.net/manual/en/timezones.php查看所有时区
希望这有帮助!!