41

从数据提要中,我以这种格式获取日期和时间:

19:24:15 06/13/2013

我需要将它转换为 12 小时 AM/PM 没有秒。所以上面的时间是晚上 7 点 24 分。日期应保持为 mm/dd/yyyy 格式。在 PHP(不是 MySQL)中是否有一种优雅的方法可以做到这一点?谢谢!

4

3 回答 3

138

我认为你可以使用date()函数来实现这一点

$date = '19:24:15 06/13/2013'; 
echo date('h:i:s a m/d/Y', strtotime($date));

这将输出

07:24:15 pm 06/13/2013

现场样品

h用于 12 位时间
i代表分钟
s
a将返回 am 或 pm(以大写形式用于 AM PM)
m用于带数字的月份
d用于数字中的天
Y大写用于 4 位年份(使用小写的两位数)

更新

这是与DateTime

$date = new DateTime('19:24:15 06/13/2013');
echo $date->format('h:i:s a m/d/Y') ;

现场样品

于 2013-06-13T22:24:03.033 回答
10

您可以使用以下代码使用日期函数对其进行格式化:

echo date("g:i a", strtotime("13:30:30 UTC"));

输出:下午 1:30

于 2018-04-05T10:33:07.330 回答
7

使用更小的h

// 24 hrs 
H:i 
// output 14:20

// 12 hrs 
h:i 
// output 2:20
于 2018-07-25T09:46:45.773 回答