如何分别回显日期部分

时间:2011-09-25 16:53:01

标签: php mysql database datetime date

我在网上找到了他们回答不同内容的地方,但我仍然不知道如何将其应用到我的代码中。

基本上我想在一个回波线中使用月份,在另一个回波中使用日期编号。

我的代码中有没有这样做?

  <?php 
  // Connects to your Database 
  $data = mysql_query("SELECT id, title, description, location, date FROM Calendar") 
  or die(mysql_error());  
  while($row = mysql_fetch_array( $data )) 
  { 

  echo "<article>";
  echo "<date>"; 
  echo "<h3>" .$row['date(month)'] . "</h3>";
  echo "<h4>" .$row['date(day)'] . "</h4>"; 
  echo "</date>";

  echo "</article>";
  }
  ?>   

4 个答案:

答案 0 :(得分:4)

你应该能够直接通过strtotime日期:

$month = date('m', strtotime($row['date']));
$day = date('d', strtotime($row['date']));

但这取决于日期存储在数据库中的格式。这适用于TIMESTAMP类型列或UNIX时间戳,或(大多数情况下)日期的字符串表示。

答案 1 :(得分:1)

这是一种在MySQL查询中提前获取它们的方法,作为稍后在PHP中解析它们的替代方法。

$data = mysql_query("SELECT id, title, description, location, DATE_FORMAT(date, '%m') AS `month`, DATE_FORMAT(date, '%d') AS `day` FROM Calendar") 
  or die(mysql_error());

然后访问它们:

while($row = mysql_fetch_array( $data )) 
{ 
   echo $row['month'];
   echo $row['day'];
}

另外,要获取月份名称而不是数字,请使用DATE_FORMAT(date, '%M') as month

MySQL DATE_FORMAT() documentation

答案 2 :(得分:0)

首先获取日期的unix时间,然后格式化两个不同的字符串。

答案 3 :(得分:0)

如果您希望将日期作为月份的名称进行回显,则可以使用“F”。 像这样:

$ month = date('F',strtotime($ row ['dateRepaired']));