php和mysql的日期时间差

标签 php mysql datetime

我在 php 中这样做是为了将 laSTLogin 存储在 mysql 日期时间列中

date('Y-m-d h:i:s') //which then gave > '2014-01-04 08:00:56'

然后保存

当我需要计算在线时间超过20分钟的用户时,我在mysql中是这样做的

SELECT * FROM `elc_users`  WHERE TIMESTAMPDIFF( MINUTE , lastlogin, NOW( ) ) <20

它没有用,当我在 mysql 中进行跟踪时,Now() 给出了这个 > 2014-01-04 20:00:56

现在这不会让我获得 20 分钟的登录用户。

我该如何解决这个问题?

编辑

我在 phpMyAdmin 中手动插入了一条记录,以确保在具有默认值 current_timestamptimestamp 列中出现时区问题,它给出了 2014-01- 05 06:48:21。我在 phpMyAdmin 中运行了这个查询

SELECT created, NOW( )  `elc_users`

这给 2014-01-05 18:53:53

现在我还执行下面的代码来检查全局和 session 时区,我得到了 phpMyAdmin

mysql> SELECT @@global.time_zone, @@session.time_zone;

然后给 SYSTEM |系统

最佳答案

正如 Filip 所说,这可能是时区问题;您可以将脚本的时区更改为 MySQL 设置的任何时区,如下所示:

date_default_timezone_set('America/Los_Angeles');

关于php和mysql的日期时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20925406/

相关文章:

php - 使用日光浴室从 php 访问 apache solr 抛出 UnexpectedValueException

php - MySql 查询错误

javascript - 将 Web Api 返回日期时间转换为 Javascript 日期

python - 如何使用 pandas.read_csv 将非字符串列解析为日期时间

c# - 为什么 DateTime.Now.Ticks 不一致?

php - 两页一导航

php - 如何在 PHP 类中声明静态变量但在扩展基类的类中定义它?

java - 如何从MySQL数据库获取数据到android

php - JQuery ajax 函数可以工作,但无法正确返回变量

mysql - SQL查询以检查名称是否以元音开头和结尾