2017-01-21 3 views
1

Я пытаюсь конвертировать 01-31-2017 09:01 в 24-часовой период времени (у меня AM PM в моих значениях), но он продолжает давать мне 1969-12-31 16: 00:00конвертировать AMPM в datetime 24 часа

Вот что я сделал:

$old_date = strtotime("01-31-2017 09:01 AM"); 
$new_date = date('Y-m-d H:i:s', $old_date); 

Любой вид помощи я могу получить на это очень ценится!

ответ

2

Если вы знаете формат строки лучше использовать date_create_from_format function:

$s = '01-31-2017 09:01 AM'; 
$date = date_create_from_format('m-d-Y h:i A', $s); 
var_dump($date->format('Y-m-d H:i:s')); 

При использовании strtotime вы позволяете PHP разобрать строку, и это может привести к результату, вы не ищете (например - 01-02-2017 - это jan 2nd или feb 1st?).

Смежные вопросы