[英]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.