Например, у меня есть время в этом формате
eg. 09:15 AM 04:25 PM 11:25 AM
Как преобразовать его в
09:15 16:25 23:25
В настоящее время мой код:
$format_time = str_replace(" AM", "", $time, $count); if ($count === 0){ $format_time = strstr($time, ' PM', true); $format_time = ...... }
Однако, похоже, есть более простой и элегантный способ сделать это?
$time = '23:45'; echo date('g:i a', strtotime($time));
Как поместить вышеуказанный образец в мой случай? благодаря
Попробуйте с этим
echo date("G:i", strtotime($time));
или вы можете попробовать это
echo date("H:i", strtotime("04:25 PM"));
Если вы используете формат Datetime, см. http://php.net/manual/en/datetime.format.php
Вы можете сделать это :
$date = new \DateTime(); echo date_format($date, 'Ymd H:i:s'); #output: 2012-03-24 17:45:12 echo date_format($date, 'G:ia'); #output: 05:45pm
Вы можете использовать это в течение 24 часов до 12 часов:
echo date("h:i", strtotime($time));
И наоборот:
echo date("H:i", strtotime($time));
$time = '09:15 AM'; $chunks = explode(':', $time); if (strpos( $time, 'AM') === false && $chunks[0] !== '12') { $chunks[0] = $chunks[0] + 12; } else if (strpos( $time, 'PM') === false && $chunks[0] == '12') { $chunks[0] = '00'; } echo preg_replace('/\s[AZ]+/s', '', implode(':', $chunks));
PHP 5.3+.
$new_time = DateTime::createFromFormat('h:i A', '01:00 PM'); $time_24 = $new_time->format('H:i:s');
Выезд: 13:00:00
Отлично работает с датами форматирования. Проверьте этот ответ.
Мы можем использовать Carbon
$time = '09:15 PM'; $s=Carbon::parse($time); echo $military_time =$s->format('G:i');