在php中使用foreach时,字符串格式的所有月份显示不正确
下面我使用foreach循环打印所有月份,比如一月到十二月在php中使用foreach时,字符串格式的所有月份显示不正确,php,date,Php,Date,下面我使用foreach循环打印所有月份,比如一月到十二月 foreach(range(1,12) as $i) { echo $pmoth =date("F", mktime(0,0,0,$i)); } 参考屏幕截图:在屏幕截图中显示三月,而不是二月 Pass date参数在最后一种情况下,它采用当前日期(30),因此对于2月份它是无效的日期。这就是为什么它显示三月 foreach(range(1,12) as $i) { echo $pmoth =date("F", mktime(0,
foreach(range(1,12) as $i)
{
echo $pmoth =date("F", mktime(0,0,0,$i));
}
参考屏幕截图:在屏幕截图中显示三月,而不是二月
Pass date参数在最后一种情况下,它采用当前日期(30),因此对于2月份它是无效的日期。这就是为什么它显示三月
foreach(range(1,12) as $i)
{
echo $pmoth =date("F", mktime(0,0,0,$i,1));
}
您可以执行以下操作。这是一个多一点的代码,但它看起来好多了
$period = new DatePeriod(
new DateTime('2018-01-01'),
new DateInterval('P1M'),
new DateTime('2019-01-01')
);
foreach ($period as $dt) {
echo $dt->format('F') . PHP_EOL;
}