我需要将“Nov 22”转换为一个日期对象,它是在11月。我正在尝试以下方法-但它只适用于有31天的月份:
$novDateString = 'Nov22';
$decDateString = 'Dec22';
$novDate = DateTime::createFromFormat('My', $novDateString);
$decDate = DateTime::createFromFormat('My', $decDateString);
echo $novDate->format('m');
echo $decDate->format('m');
// output
12
12
如您所见,11月22日和12月22日都是12月。事实上,所有少于31天的月份都Map到它之前的月份。这是一个已知的问题还是有一个简单的方法可以解决?
1条答案
按热度按时间mzsu5hc01#
由于您没有指定日期,因此默认为今天,即31号:
November 31st不存在,所以日期变成了December 1st。您需要在字符串前面加上一天,然后传入正确的格式: