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",
))
我有一个像这样的日期:$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",
))