将月份,年份转换为Y​​YYY-MM-DD

时间:2019-01-16 19:49:10

标签: php date datetime strtotime

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

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

这将返回此:2019-01-01当我想要2018-01-01

关于如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:2)

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

$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