Mysql FROM_UNIXTIME将于2月28日转换为1月3日

时间:2017-02-25 19:16:33

标签: php mysql unix-timestamp

我正在尝试创建活动日历。所有日期都工作正常,但任何月份的第一个月都成为上个月的最后一个。这是我的Mysql查询 -

查询1 -

$sql = "select  DATE_FORMAT(FROM_UNIXTIME(post_date), '%Y') as mnth,
                DATE_FORMAT(FROM_UNIXTIME(post_date), '%M') as yr 
        from ".EVENT." 
        GROUP BY (DATE_FORMAT(FROM_UNIXTIME(post_date), '%M %Y')) 
        ORDER BY(post_date) ASC limit $offset ,$limit";

循环 -

$loop="SELECT * 
       FROM ".EVENT." 
       WHERE event_status='1' 
             AND DATE_FORMAT(FROM_UNIXTIME(post_date), '%Y')=".$result['mnth']." 
             AND DATE_FORMAT(FROM_UNIXTIME(post_date), '%M')='".$result['yr']."' 
      ORDER BY(post_date) ASC" ;

1 个答案:

答案 0 :(得分:0)

通过检查mysql设置的时区,我发现它是在MST中设置的,我将所有日期都存储为UTC格式。为了解决这个问题我只是将我的默认时区UTC转换为MST,它解决了我的问题。