MONTH的Mysql和php数据库分离

时间:2014-03-26 13:23:25

标签: php mysql

我遇到了php和mysql的问题。我有数据库,其中列是日期(Y-M-D)日期是实际日期字段no varchar
我想要的是将“数字”改为当月的名称。例如:

2014年7月6日

  • 2014-07-06 / 8:00 /需要速度3D / Kino

2014年7月5日

  • 2014-07-05 / 8:00 /需要速度/ Kino

2014年6月6日

  • 2014-07-06 / 8:00 / The Movie / Kino

ineed将该粗体日期更改为MONTH名称(我期待的是):

七月

  • 2014-07-06 / 8:00 /需要速度3D / Kino
  • 2014-07-05 / 8:00 /需要速度/ Kino

六月

  • 2014-07-06 / 8:00 / movie / Kino
  • 2014-07-05 / 8:00 /第二部电影/ Kino

我的代码:

$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>'; 
}  

1 个答案:

答案 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']));

另见:

PHP Date function output in Italian

PHP date() in foreign languages - e.g. Mar 25 Aoû 09