如何使用PHP将正确的日期从m-d-Y转换为Y-m-d
因为我读了另外几个有类似问题的话题,所以我不明白我的处境到底出了什么问题 日期排序为-在这两种情况下,日期03-14-2020应为2020-14-03,但应为1970-01-01如何使用PHP将正确的日期从m-d-Y转换为Y-m-d,php,Php,因为我读了另外几个有类似问题的话题,所以我不明白我的处境到底出了什么问题 日期排序为-在这两种情况下,日期03-14-2020应为2020-14-03,但应为1970-01-01 $dates = explode(" / ", $this->input->post('date')); print_r($dates); Array ( [0] => 03-14-2020 [1] => 03-20-2020 ) $newDate = array(
$dates = explode(" / ", $this->input->post('date'));
print_r($dates);
Array ( [0] => 03-14-2020 [1] => 03-20-2020 )
$newDate = array(
'start' => date("Y-m-d", strtotime($dates[0])),
'end' => date("Y-m-d", strtotime($dates[1]))
);
print_r($newDate)
Array ( [start] => 1970-01-01 [end] => 1970-01-01 )
即使这种方式也不正确
$date = DateTime::createFromFormat('d-m-Y', $dates[0]);
print_r($date->format('Y-m-d'));
2021-02-03
试试这个我用DateTime::createFromFormat完成了
$start = DateTime::createFromFormat('m-d-Y', $dates[0]);
$end = DateTime::createFromFormat('m-d-Y', $dates[1]);
$newDate = array(
'start' => $start->format('Y-m-d'),
'end' => $end->format('Y-m-d')
);
print_r($newDate) ;
Array ( [start] => 2020-03-14 [end] => 2020-03-20 )
日期格式不正确。。。应为YYYY-MM-DD。@LarsStegelitz给出了一个正确的示例,请说明。。。请务必阅读文档!在您的
createFromFormat
中,您再次使用了错误的格式…结果是错误的:数组([0]=>03-14-2020[1]=>03-20-2020)数组([start]=>2020-03-11[end]=>2020-03-11)发现:您需要对旧日期使用这些格式-DD-MM-yyyyy-YYYY-MM-DD$output=DateTime::createFromFormat('m-d','05-03-2021')->格式('Y-m-d');
$start = DateTime::createFromFormat('m-d-Y', $dates[0]);
$end = DateTime::createFromFormat('m-d-Y', $dates[1]);
$newDate = array(
'start' => $start->format('Y-m-d'),
'end' => $end->format('Y-m-d')
);
print_r($newDate) ;
Array ( [start] => 2020-03-14 [end] => 2020-03-20 )