如何从PHP中的date时间获取AM / PM

我有一个variables的date时间。 我的格式是08/04/2010 22:15:00 。 我想显示这个像10.15 PM 。 如何在PHP中做到这一点?

提前致谢

您需要将其转换为UNIX时间戳(使用strtotime ),然后使用date函数返回到您需要的格式。

例如:

 $currentDateTime = '08/04/2010 22:15:00'; $newDateTime = date('h:i A', strtotime($currentDateTime)); 
 $dateString = '08/04/2010 22:15:00'; $dateObject = new DateTime($dateString); echo $dateObject->format('h:i A'); 

使用strtotime()使date成为UNIX时间戳。

对于输出,检查date()的各种选项。

 $timestamp = strtotime("08/04/2010 22:15:00"); date("hi A", $timestamp); 

喜欢这个:

 $date = '08/04/2010 22:15:00'; echo date('h:i A', strtotime($date)); 

结果:

 10:15 PM 

更多信息:

  • date
  • 的strtotime
 <?php $dateTime = new DateTime('now', new DateTimeZone('Asia/Kolkata')); echo $dateTime->format("d/m/y H:i A"); ?> 

你可以用它来显示这样的date

 22/06/15 10:46 AM 

对于不同格式的灵活性,请使用:

 $dt = DateTime::createFromFormat('m/d/YH:i:s', '08/04/2010 22:15:00'); echo $dt->format('g:i A') 

检查PHP手册的其他格式选项。

PHP代码:

 date_default_timezone_set('Asia/Kolkata'); $currentDateTime=date('m/d/YH:i:s'); $newDateTime = date('h:i A', strtotime($currentDateTime)); echo $newDateTime; 

输出:下午05:03

对于(PHP> = 5.2.0):

您可以使用DateTime类。 但是,您可能需要更改date格式。 没有尝试过你的。 以下date格式可以确定: YYYY-MM-DD HH-MM-SS

 $date = new DateTime("2010-04-08 22:15:00"); echo $date->format("g"). '.' .$date->format("i"). ' ' .$date->format("A"); //output //10.15 PM 

但是,在我看来,使用. 作为10.15的分隔符不推荐,因为你的用户可能会感到困惑,这是一个十进制数或时间格式。 最常用的方法是使用10:15 PM

这很容易。 假设你已经在数据库表中查询了types为“timestamp”的字段(dateposted),并且你想要显示它,请将其格式化,并且还有AM / PM ,所有你需要做的事情如下所示。

  <?php echo date("F j, Y h:m:s A" ,strtotime($row_rshearing['dateposted'])); ?> 

注意:你的输出应该看起来像这样取决于发布的date

2014年5月21日下午03:05:27 PM