【发布时间】:2013-08-19 11:11:44
【问题描述】:
我将事件存储在 MySQL 数据库中,开始日期和时间以 UNIX 格式存储在“startTimeStamp”列中。
当我尝试使用简单查询获取特定日期的事件时
SELECT * FROM events WHERE FROM_UNIXTIME(startTimeStamp, '%Y-%m-%d') = '2013-08-20'
当时间戳下的日期和时间大于凌晨 2 点(即 2013 年 8 月 20 日 03:00:00)时,一切正常,但当它更早时,它不会在同一天显示。
简单示例:我有两个事件 - 日期相同但时间不同
- 2013-08-20 03:00:00 (1376960400)
- 2013-08-20 00:00:00 (1376949600)
当我运行前面提到的查询时,我会得到第一个,但不是第二个。要获得第二个,我必须查询前一天 (2013-08-19) 的事件
你知道为什么吗?也许我错过了什么?
非常感谢!
【问题讨论】:
-
也许你应该为此设置默认时区。