我正在使用 Node.js + Express + MySQL 构建一个 Web 应用程序。每个表中都有一个 CreatedOn 列,即日期时间。每当从网络应用程序创建记录时,我都会在后端执行 varcreatedOn = new Date();填充此字段。
当用户打开记录列表页面时,我想默认向他们显示当天(今天)创建的记录。但是,我仍然可以看到昨天创建的记录(仅昨天而不是之前)。在我的数据库中,当我通过 PhpMyAdmin 检查时,日期时间值保存为 2016-07-21 18:01:22 。
我的 SQL 查询如下所示:
select col1, col2...coln from MyTable where DATE(CreatedOn) = DATE(NOW()) order by TIME(CreatedOn) DESC
当我调试此查询中的行时,CreatedOn 和 NOW() 值似乎已更改。
在撰写此问题时,时间是 2016 年 7 月 22 日,但 DATE(NOW()) 显示它为 2016-07-20T18:30:00.000Z 并且它显示 DATE(CreatedOn) 为 2016-07-20T18 :30:00.000Z 也是如此。
我需要在数据库中进行一些调整吗?或者我读这些值错了? 谢谢您的帮助。
最佳答案
有时候,当我取出记录时,我会遇到一些问题,会给我不同的结果,但当我使用 Date_Format 时,它会解决我的问题
Date_Format(date_field,"%Y-%m-%d");
然后完成所有日期字段。 希望它有帮助..
关于MySql datetime字段值查询后返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38518182/