php – 错误的月份(二月) – DateTime :: createFromFormat
发布时间:2020-12-13 21:57:37 所属栏目:PHP教程 来源:网络整理
导读:字符串的日期转换返回第2个月(2月)的错误值: $dtformat = 'Y-m-01';$curDate = DateTime::createFromFormat('Y-m','1996-02');print_r($curDate);$dt = $curDate-format($dtformat);echo $dt."n"; 而不是“1996-02-01”,它返回“1996-03-01”.这是$currDat
字符串的日期转换返回第2个月(2月)的错误值:
$dtformat = 'Y-m-01'; $curDate = DateTime::createFromFormat('Y-m','1996-02'); print_r($curDate); $dt = $curDate->format($dtformat); echo $dt."n"; 而不是“1996-02-01”,它返回“1996-03-01”.这是$currDate数组: DateTime Object ( [date] => 1996-03-02 01:19:01 [timezone_type] => 3 [timezone] => America/New_York ) 所有其他月份工作正常.我在这里错过了什么? 谢谢! 解决方法
根据这个
post,这是一个错误.
原因:当我们没有为createFromFormat提供日期时,默认情况下它将作为今天的日期.所以在这种情况下它将是1996-02-31,它不存在&因此下个月需要. 解决方案:需要提供一天避免这种情况. $date = "2011-02"; echo $date."n"; $d = DateTime::createFromFormat("Y-m-d",$date."-01"); echo $d->format("Y-m"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |