Php MySQL时间戳-正确的天数
我将事件存储在MySQL数据库中,开始日期和时间以UNIX格式存储在“startTimeStamp”列中 当我尝试使用简单查询获取特定日期的事件时 选择*FROMPhp MySQL时间戳-正确的天数,php,mysql,timestamp,Php,Mysql,Timestamp,我将事件存储在MySQL数据库中,开始日期和时间以UNIX格式存储在“startTimeStamp”列中 当我尝试使用简单查询获取特定日期的事件时 选择*FROMevents其中FROM\u UNIXTIME(startTimeStamp,“%Y-%m-%d”)=“2013-08-20” 如果时间戳下的日期和时间大于凌晨2点(即2013-08-20 03:00:00),则一切正常,但如果时间戳下的日期和时间早于凌晨2点,则不会在同一天显示 快速示例:我有两个事件-相同的日期但不同的时间 2013
events
其中FROM\u UNIXTIME(startTimeStamp
,“%Y-%m-%d”)=“2013-08-20”
如果时间戳下的日期和时间大于凌晨2点(即2013-08-20 03:00:00),则一切正常,但如果时间戳下的日期和时间早于凌晨2点,则不会在同一天显示
快速示例:我有两个事件-相同的日期但不同的时间
非常感谢 看看你的时区是什么:
SELECT @@global.time_zone, @@session.time_zone;
然后正确设置:
SET time_zone = timezonename;
编辑:
这可能会有所帮助:我想您可能已经选择了一个适用于的地方。在这种情况下,时间转移主要在凌晨2点到3点之间进行,这可能会导致不同的日期。这基本上是因为Unix时间戳的含义不同。这只是1970年1月1日的秒数,因此从技术上讲,1376949600值可能仍然是前一天的值,这取决于您所在的时区 就我而言:
echo date("d-m-Y h:i", 1376949600);
// output: 19-08-2013 11:00
这样使用:
$d="1376960400";
echo date("Y-m-d",$d);
您可以从中使用您想要的格式。您应该为此设置默认时区。@@global.time\u zone-SYSTEM@@session.time\u zone-SYSTEM我想这样可以吗?是吗?@Real299是的,它会占用你的电脑时区。