【问题标题】:timestamp in mysql and time() different locallymysql中的时间戳和time()在本地不同
【发布时间】:2016-08-31 16:56:01
【问题描述】:

我正在本地开发一个网站,当用户在网站上注册时,当前日期和时间存储在TIMESTAMP 列中,但如果我在我的 php 脚本中执行time(),则与时间戳列!

例如,我在大约 30 分钟前注册,数据库列中的时间是 08/31/2016 18:23:12 ,如果我回显 time() 现在在我的 php 脚本中得到 08/31/2016 16:51:22 (当变成可读的日期格式时) .我期待得到08/31/2016 18:51:22

为什么时间不同,因为它是同一个本地服务器?我不关心这个特定问题的时区,我只希望 mysql 时间戳和 php time() 是同一个“区域”。

【问题讨论】:

  • 您是否使用共享容器(如 Godaddy?)因为 MYSQL 可能存储在服务器默认时间,您的 php 可能会“调整”到您的位置
  • 不,我在我的电脑上使用 wamp。
  • 我认为你必须关心这个问题的时区。
  • 看起来您的 PHP 和 MySQL 服务器设置为不同的时区,因为 now() 和 time() 函数都返回取决于时区的当前时间。

标签: php date timestamp


【解决方案1】:

这通常是因为您需要为 PHP 脚本设置时区。

这是一个例子:

<?php

// This is some Asian timezone, so your time() function will match this timezone
date_default_timezone_set("Asia/Bangkok");

?>

我的建议是使用 &lt;?php $timestamp = time(); ?&gt; 并使用 MySQL Insert 并将其插入到您的数据库中,而不是使用 MySQL 时间戳类型。

使用此功能设置您的时区,您可以在http://www.php.net/manual/en/timezones.php查看所有时区

希望对你有帮助!!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    相关资源
    最近更新 更多