1
我正在尝试创建一个活动日历。所有日期都正常,但任何一个月的第一个月都成为上个月的最后一个月。这里是我的MySQL查询 -Mysql FROM_UNIXTIME将第一个3月转换为2月28日
查询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" ;
您不应该在间接存储的时间戳列上使用'FROM_UNIXTIME'。 MySQL知道如何处理它们。 'FROM_TIMESTAMP'可能有服务器时区相关的问题。 – apokryfos
感谢您的快速回复。我如何更改服务器时区? –
你不应该这样做。删除'FROM_UNIXTIME'有助于解决问题吗? – apokryfos