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

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

19:24:15 06/13/2013

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

【问题讨论】:

标签: php date


【解决方案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 表示分钟
s
a 将返回 am 或 pm(以大写形式用于 AM PM)
m 用于数字月份
d 用于天数digit
Y 大写用于四位数年份(小写用于两位数)

更新

这是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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多