簡體   English   中英

Mysql FROM_UNIXTIME將於2月28日轉換為1月3日

[英]Mysql FROM_UNIXTIME converts 1st march as 28th February

我正在嘗試創建一個活動日歷。 所有日期都工作正常,但任何月份的第一個月都成為上個月的最后一個。 這是我的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" ;

通過檢查mysql設置時區,我發現它是在MST中設置的,我將所有日期都存儲為UTC格式。 為了解決這個問題我只是將我的默認時區UTC轉換為MST,它解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM