将月、年转换为 YYYY-MM-DD

Convert Month, Year to YYYY-MM-DD

我去年写了一些代码,用于搜索和接收 'January, 2018' 之类的日期并将其转换为该月的第一天。我现在发现有一个错误,我的代码现在是 return 当前年份,而不是搜索年份。

$From = "January, 2018";
$From = strtotime($From);
$From = date('Y-m-01', $From);

这个 return 这个:2019-01-01 什么时候我要 2018-01-01

关于如何解决这个问题有什么建议吗?

您的日期字符串缺少日期,因此您可以自己添加日期并指定它现在的格式以创建日期对象。然后您可以以任何您想要的格式显示该日期对象:

$From = "January, 2018";
$From = DateTime::createFromFormat('d, M, Y','1,'.$From);
$From = $From->format('Y-m-d');
// Outputs 2018-01-01

在此处阅读有关 createFromFormat 的更多信息:http://php.net/manual/en/datetime.createfromformat.php