PHP DateTime::createFromFormat return 日期错误

PHP DateTime::createFromFormat return wrong date

我有一个像这样的日期:$date = DateTime::createFromFormat('D d/m', 'Mon 05/02'); 但返回的日期时间不是 2 月 5 日,而是 DateTime Object ( [date] => 2021-02-08 10:02:10.000000 [timezone_type] => 3 [timezone] => Europe/Brussels )

回答 用 Y 输入更正并得到正确的结果,php 在构建 2022 年时使用的是 2021

因为2021年2月5日是周五,2月8日是周一

如果要忽略(错误的)星期几,则只需要在格式中设置 * 而不是“D”。

$date = DateTime::createFromFormat('* d/m', 'Mon 05/02');

“星期一”被忽略,表达式“05/02”用于确定日期。

DateTime::__set_state(array(
   'date' => "2021-02-05 18:28:31.000000",
   'timezone_type' => 3,
   'timezone' => "Europe/Berlin",
))