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

Posted

技术标签:

【中文标题】如何将日期/时间从 24 小时格式转换为 12 小时 AM/PM? [复制]【英文标题】:How do I convert date/time from 24-hour format to 12-hour AM/PM? [duplicate] 【发布时间】:2013-06-10 11:50:14 【问题描述】:

从数据提要中,我得到了这种格式的日期和时间:

19:24:15 06/13/2013

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

【问题讨论】:

这是 MySQL,这是 PHP。 阅读接受的答案。如果您查看适用的文档,您会发现它正是您正在寻找的。​​span> 不重复:'将日期从 YYYYMMDD 转换为 PHP 中的 DD/MM/YYYY 格式'。 正确复制:How to get Am/ PM from a datetime in php. 其实这个:How to convert the time from AM/PM to 24 hour format in PHP? 【参考方案1】:

我认为你可以使用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

Live Sample

h 用于 12 位时间i 表示分钟sa 将返回 am 或 pm(以大写形式用于 AM PM)m 用于数字月份d 用于天数digitY 大写用于四位数年份(小写用于两位数)

更新

这是DateTime

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

Live Sample

【讨论】:

你如何使小时为个位数,所以'09'是'9'?谢谢! 我刚找到它,'g' 表示小时不带前导零。【参考方案2】:

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

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

输出:下午 1:30

【讨论】:

【参考方案3】:

使用较小的h

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

// 12 hrs 
h:i 
// output 2:20

【讨论】:

以上是关于如何将日期/时间从 24 小时格式转换为 12 小时 AM/PM? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

swift - 如何将日期从上午/下午转换为 24 小时格式

php 24小时格式的日期转换为12小时的日期

Javascript:将 24 小时时间字符串转换为 12 小时时间,上午/下午且无时区

C#如何将DateTime的12小时格式转换为24小时时间格式????

c语言将秒数转换为时间格式(24小时制,00:00:00格式)

C#如何将DateTime的12小时格式转换为24小时时间格式????