2011-04-04 88 views
1

我目前使用此代码:格式化时间

 if(mysql_num_rows($result2) > 0) { 
    $count=0; 
    $day = 1; 
     while ($row = mysql_fetch_array($result2, MYSQL_ASSOC)) { 
      echo "<b>"; 
      if ($day=='1') { echo "Sunday - ";} else if ($day=='3') { echo "Monday - "; } else if ($day=='5') { echo "Tuesday - "; } else if ($day=='7') { echo "Wednesday - "; } else if ($day=='9') { echo "Thursday - "; } else if ($day=='11') { echo "Friday - "; } else if ($day=='13') { echo "Saturday - "; } else { echo "";} 
      if ($row["open"] == 0 && $row["close"] == 0) { 
    if ($day % 2 == 1) { 
     echo "closed"; 
    } 

} 
      else{ 
      echo "</b>" . $row["open"] . "-" . $row["close"] . " &nbsp;&nbsp;&nbsp;&nbsp; "; 
      if ($count % 2 !=0){ echo "<br/><br/>"; } } 
$count++; 
$day++; 

     } 
    } else { 
      echo "Error"; 
    } 

,其显示的输出,诸如:

Sunday 09:00:00 - 15:00:00 16:00:00 - 20:00:00 
Monday 09:00:00 - 15:00:00 16:00:00 - 20:00:00 

我想这些时间格式化使得仅小时并显示分钟(基本上,删除秒)。有人能告诉我我该怎么做吗?

感谢所有帮助

+0

嗯,我有点放弃了格式化他的代码。 @experimentX即使是最聪明的程序员都是你认识的人。 :) – Christian 2011-04-04 08:33:10

+0

@ChristianSciberras好,是的,我想:-) – 2011-04-04 08:34:36

回答

3

您可以取代你$行[“开放”]和$行[“亲密”]变量与SUBSTR和削减最后三个字符:

substr($row["open"], 0, -3); 
substr($row["close"], 0, -3); 

的样子这样的:

echo "</b>" . substr($row["open"], 0, -3) . "-" . substr($row["close"], 0, -3) . "&nbsp;&nbsp;&nbsp;&nbsp;"; 
+0

这很好,所以我使用这种方法。谢谢,并感谢所有其他人回答:) – 2011-04-04 08:39:06

+0

不知道为什么我从用户downvotes,但无论如何:)您的欢迎。 – ayk 2011-04-04 09:07:32

+1

为什么downvote?它工作,相当干净,并且很好地解决了OP的问题,他接受了答案。有一些更奇特的功能可以使用,但它们将取决于了解“开放”的确切内部格式。 – 2011-04-04 09:09:42

0
echo "</b>" . substr($row["open"], 5) . "-" . substr($row["close"], 5); 
2

这应该工作:

date("H:i", strtotime($row["open"])) 
0

可以使用substr

substr($row["open"], 0, -3) 

substr($row["close"], 0, -3)