Я пытаюсь изменить формат времени здесь.
В базе данных время сохраняется как «0», «1200», «1300», «1400», «900» и т. Д.
Я хочу, чтобы они имели нормальный формат: «0:00 AM», «12:00», «13:00», «2:00 PM», «9:00 AM».
В коде я использую:
$timeFormated = DateTime::createFromFormat('Gi', $myTime[$i]);
$newDateString = $timeFormated->format('g:i A');
Однако я получаю сообщение об ошибке «Вызов функции-члена format () для необъекта».
Может кто-нибудь сказать мне, что я здесь не так сделал?
Спасибо!
Это должно работать, если вы уверены, что ваше время 4 цифры.
Вы можете сделать это с помощью:
$myTime = sprintf('%04d', $myTime);
Так,
$timeFormated = DateTime::createFromFormat('Gi', '0'); // FALSE - doesn't work
$timeFormated = DateTime::createFromFormat('Gi', '0000'); // Works..!
Других решений пока нет …