如何将日期/时间从24小时格式转换为12小时AM/PM?

Edw*_*ard 31 php date

从数据Feed我以这种格式获取日期和时间:

19:24:15 06/13/2013
Run Code Online (Sandbox Code Playgroud)

我需要将它转换为12小时上午/下午没有秒.所以上面的时间是晚上7:24.日期应保持为mm/dd/yyyy格式.在PHP(而不是MySQL)中有一种优雅的方法吗?谢谢!

Fab*_*bio 107

我认为你可以使用date()函数来实现这个目标

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

这将输出

07:24:15 pm 06/13/2013
Run Code Online (Sandbox Code Playgroud)

现场样本

h用于12位数时间
i代表分钟
s
a将返回上午或下午(使用大写字母表示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') ;
Run Code Online (Sandbox Code Playgroud)

现场样本


小智 9

您可以使用 date 函数通过使用以下代码对其进行格式化:

echo date("g:i a", strtotime("13:30:30 UTC"));
Run Code Online (Sandbox Code Playgroud)

输出:下午 1:30


Dex*_*ter 7

使用更小的 h

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

// 12 hrs 
h:i 
// output 2:20
Run Code Online (Sandbox Code Playgroud)