我遇到了php和mysql的问题。我有数据库,其中列是日期(Y-M-D)日期是实际日期字段no varchar
我想要的是将“数字”改为当月的名称。例如:
2014年7月6日
2014年7月5日
2014年6月6日
ineed将该粗体日期更改为MONTH名称(我期待的是):
七月
六月
我的代码:
$result = mysql_query("SELECT hlavni.datum_expirace, hlavni.priloha, hlavni.nazev,
vedle.misto
FROM hlavni
INNER JOIN vedle ON hlavni.sekce = vedle.idecko WHERE vedle.idecko IN ( 6, 7, 8, 15, 14,
16, 17 ) ORDER BY `hlavni`.`datum_expirace` DESC, `hlavni`.`priloha` ASC");
//fetch tha data from the database
$currentDate = false;
while($row = mysql_fetch_array($result))
{
if ($row['datum_expirace'] != $currentDate){
echo
'<strong>' .
$row['datum_expirace'] .
'</strong>' ;
$currentDate = $row['datum_expirace'];
}
echo
'<ul><li>' .
$row['datum_expirace'] .
'</li><li>' .
$row['priloha'] .
'</li><li>' .
$row['nazev'] .
'</li><li>' .
$row['misto'] .
'</li></ul>';
}
答案 0 :(得分:0)
echo date('F', strtotime($row['datum_expirace']));
strtotime从字符串转换为日期/时间。
日期(&#39; F&#39;)将日期显示为月份名称。
写得更符合您的实际代码示例:
$cMonth = date('F', strtotime($row['datum_expirace']));
if ($cMonth != $currentDate)
{
echo '<strong>' . $cMonth . '</strong>' ;
$currentDate = $cMonth;
}
<强>更新强>
根据评论,这可能会更好。
setlocale(LC_TIME, 'fr_FR'); //CALLED ONCE - with whatever language you need.
然后
$cMonth = strftime('%B', strtotime($row['datum_expirace']));
另见: