我在本地开发一个网站,当用户在网站上注册时,当前日期和时间存储在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()是相同的“区域”。
发布于 2016-09-01 01:53:34
这通常是因为您需要为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上查看所有时区
希望这能有所帮助!
https://stackoverflow.com/questions/39255132
复制相似问题