我正在尝试将01-31-2017 09:01 AM转换为24小时的日期时间(我的价值观中有AM PM),但它一直给我1969-12-31 16:00:00
这就是我所做的:
$old_date = strtotime("01-31-2017 09:01 AM");
$new_date = date('Y-m-d H:i:s', $old_date);
非常感谢我能得到的任何帮助!
答案 0 :(得分: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? )。