strtotime и DateTime :: createFromFormat возвращают неверную дату - PullRequest
0 голосов
/ 19 сентября 2018

strtotime() и DateTime::createFromFormat вернуть неправильную дату

и

 date('m/d/y H:i A', strtotime('09/29/2018 4:15 PM')) 

вернуть мне 09/29/18 16:15 PM

Почему это так и как это исправить?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Вам нужно использовать i вместо m для месяца.Кроме того, вам нужно использовать h вместо H, чтобы показать часы в формате 12 часов.

$date = DateTime::createFromFormat('m/d/y h:i A', '09/30/18 10:00 AM');
echo  $date->format('m/d/y h:i');

Как вы можете видеть, m уже используется для месяца, поэтому есливы бы заглянули в документацию php.net, вы бы обнаружили, что для часов есть разные буквы.

0 голосов
/ 19 сентября 2018

Используйте i для минуты

  $date = DateTime::createFromFormat('m/d/y H:i A', '09/30/18 10:00 AM');
...