【问题标题】:PHP code not identifying AM and PM in DatetimePHP 代码未在 Datetime 中识别 AM 和 PM
【发布时间】:2014-07-05 06:17:38
【问题描述】:

我有一个数据库,其中包含“event_start”列,其中日期和时间以“Y-m-d H:i:s a”格式插入,“display_time”其中数据以“Y-m-d H:i:s a”+45 分钟格式插入在创建事件期间。这些列类型是 varchar(255)

在我的页面上,我正在显示来自该数据库的数据,显示时间以升序模式显示。但是如果两行中的日期相同,则不会显示上午和下午。

使用的代码如下:

<?
$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

【问题讨论】:

  • 这个“display_time”列的类型是什么。
  • varchar (255)。在第一段中已经提到
  • 对不起所有成员。以上问题与 jQuery datetimepicker 插件有关。当我为 event_start 添加日期和时间时,它会将时间插入为 03:00 pm 到 15:00,以及 08:00 am 到 08:00,所以 php 编码只是检查 03:00 和 08:00,所以event2(下午 03:00)到达上方,然后 event2(上午 08:00)。但现在我在 Jquery 中进行了更改。现在它正在插入 15:00 而不是 03:00 PM...现在它正在工作....感谢为我的问题承受痛苦

标签: php mysql datetime


【解决方案1】:

我没有看到这里使用 am 或 pm。由于当前日期采用 24 小时时间格式,请删除额外的上午/下午 $current_date=date("Y-m-d H:i:s"); 就用这个吧。

【讨论】:

  • 好的。我也尝试从数据库中删除 am 和 pm....但直到它显示 event2 (with display_time 16:00) 和 event1 (with display_time 08:00)
  • @darshan 尝试将 display_time col 更改为 datetime!这才是储存时间的正确方式
  • 对不起尊敬的会员。上述问题与 jQuery datetimepicker 插件有关。当我为 event_start 添加日期和时间时,它会将时间插入为 03:00 pm 到 15:00,以及 08:00 am 到 08:00,所以 php 编码只是检查 03:00 和 08:00,所以event2(下午 03:00)到达上方,然后 event2(上午 08:00)。但现在我在 Jquery 中进行了更改。现在它正在插入 15:00 而不是 03:00 PM...现在它正在工作....感谢为我的问题承受痛苦
【解决方案2】:

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

【讨论】:

  • 对不起尊敬的会员。上述问题与 jQuery datetimepicker 插件有关。当我为 event_start 添加日期和时间时,它会将时间插入为 03:00 pm 到 15:00,以及 08:00 am 到 08:00,所以 php 编码只是检查 03:00 和 08:00,所以event2(下午 03:00)到达上方,然后 event2(上午 08:00)。但现在我在 Jquery 中进行了更改。现在它正在插入 15:00 而不是 03:00 PM...现在它正在工作....感谢为我的问题承受痛苦
【解决方案3】:

试试这个。

$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"); 

根据您过世的日期格式投射列

【讨论】:

  • 感谢您的回答和尊敬的成员,因为上述问题与 jQuery datetimepicker 插件有关。当我为 event_start 添加日期和时间时,它会将时间插入为 03:00 pm 到 15:00,以及 08:00 am 到 08:00,所以 php 编码只是检查 03:00 和 08:00,所以event2(下午 03:00)到达上方,然后 event2(上午 08:00)。但现在我在 Jquery 中进行了更改。现在它正在插入 15:00 而不是 03:00 PM...现在它正在工作....感谢为我的问题承受痛苦
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-08
  • 2018-05-19
  • 2015-12-19
  • 2013-01-05
  • 2011-12-29
  • 2020-09-09
相关资源
最近更新 更多