查询后,MySql datetime字段值返回不正确

时间:2016-07-22 04:28:36

标签: mysql date datetime

我正在使用Node.js + Express + MySQL构建一个Web应用程序。在每个表中都有一个CreatedOn列,它是Datetime。每当从Web应用程序创建记录时,在后端我做var createdOn = new Date();填充此字段。

当用户打开记​​录列表页面时,我想默认显示当天(今天)创建的记录。但是,我仍然可以看到昨天创建的记录(仅在昨天而不是之前)。在我的数据库中,当我通过PhpMyAdmin检查时,datetime值保存为2016-07-21 18:01:22。

我的SQL查询如下所示:

  

从MyTable中选择col1,col2 ... coln,其中DATE(CreatedOn)=   DATE(NOW())按TIME(CreatedOn)DESC命令

当我从此查询调试行时,似乎CreatedOn和NOW()值已更改。

在撰写此问题的那一刻,它是2016年7月22日,但是DATE(现在())显示2016-07-20T18:30:00.000Z,它显示DATE(CreatedOn)为2016-07-20T18 :30:00.000Z也是如此。

我是否需要在数据库中进行一些调整?或者我读错了这些价值观? 谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我有时遇到一些问题当我拿出记录给我不同的结果但是当我使用Date_Format时它会解决我的问题

Date_Format(date_field,"%Y-%m-%d");

然后完成所有日期字段。 希望它有所帮助..