我正在尝试转换将dd/mm/yy转换为yyyy-mm-dd。在我研究了几种方法之后,我发现了这个。
$var = '20/01/2021';
$date = str_replace('/', '-', $var);
$show_date = date('Y-m-d', strtotime($date));
结果2021-01-20
工作良好。然而,我的输入是两位数字yy,即20/01/21
,结果变成了2020-01-21
。
对于模棱两可的日期,最好使用DateTime
类,因为您可以设置输入格式。请参阅文档中的以下示例:
$var = '20/01/21';
$date = DateTime::createFromFormat('d/m/y', $var); // "d/m/y" corresponds to the input format
echo $date->format('Y-m-d'); //outputs 2021-01-20