PHP代码未在Datetime中标识AM和PM

时间:2014-07-05 06:17:38

标签: php mysql datetime

我有数据库和#34; event_start"将日期和时间插入" Y-m-d H:i:s a"格式和" display_time"其中数据插入为" Y-m-d H:i:s a"创建活动期间格式为+45分钟。这些列类型是varchar(255)

在我的页面上,我显示来自此数据库的数据,显示时间为升序模式。但如果日期在两行中相同,则表示不显示am,然后显示pm。

使用的代码如下:

<?
$current_date=date("Y-m-d H:i:s a");

$data=mysql_query("select * from  table where display_time >'".$current_date."' order by event_start asc"); 
?>

现在,例如如果有两个事件。

event1 = event_start是2014-07-15 08:00:00 am,所以display_time插入是2014-07-15 08:45:00 am

event2 = event_start是2014-07-15 16:00:00 pm,所以display_time插入是2014-07-15 16:45:00 pm

在这种情况下,event1应该显示在event2之上,但它不会以这种方式出现。 它显示event2,然后显示event1

3 个答案:

答案 0 :(得分:0)

我认为没有使用am或pm。由于当前日期是24小时时间格式,因此删除额外的上午/下午 $current_date=date("Y-m-d H:i:s"); 只需使用这个。

答案 1 :(得分:0)

event_start field.Row id或其他东西中存储的内容。检查你的升序模式。

答案 2 :(得分:0)

试试这个。

$current_date=date("Y-m-d H:i:s a");

$data=mysql_query("select * from  table where CAST(display_time AS DATETIME) >'".$current_date."' order by event_start asc"); 

根据您传递的日期格式投射列