Как конвертировать дату/время из 24-часового формата в 12-часовой AM/PM?

Из фида данных я получаю дату и время в этом формате:

19:24:15 06/13/2013

Мне нужно, чтобы он был преобразован в 12-часовой AM/PM без секунд. Таким образом, наступило время 7:24 вечера. Дата должна оставаться в формате mm/dd/yyyy. Есть ли элегантный способ сделать это в PHP (а не в MySQL)? Спасибо!

Ответы

Ответ 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 используется для дней в цифрах
Y верхний регистр используется для четырехзначного года (используйте его в нижнем регистре для двух цифр)

Обновление

Это с DateTime

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

Live Sample

Ответ 2

Вы можете использовать функцию даты для форматирования, используя код ниже:

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

выходной: 13:30

Ответ 3

Используйте меньшее h

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

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