У вас есть опечатка.Второй аргумент explode()
должен быть $dated
, а не $date
.Если вы сделаете это, время будет отображаться правильно.
<?php
function perfect_date_format($date) {
$dated = str_replace(array(" ", ":"), "-", $date);
list($year, $month, $day, $hour, $minute) = explode("-", $dated);
$niceday = @date("H:ia \o\\n\ l, F jS, Y", mktime($hour, $minute, 0, $month, $day, $year));
return $niceday;
}
echo perfect_date_format('2011-12-17 03:45:00') . "\n";
?>
Это выводит:
03:45am on Saturday, December 17th, 2011
КСТАТИ: Удалить оператор 10101 * подавления ошибок безопасно. @
) в коде выше.Это было просто подавление ошибок или предупреждений, вызванных ошибкой, указанной выше.Теперь, когда ошибка устранена, @
ничего не делает.