显示月列表使用mktime 2012年(Displaying the list of months

2019-07-29 16:06发布

上午上午当前面临着需要尽快解决的问题。

我试图通过使用下面的代码列出本年度(2012年)的所有月份:

for ($m=1; $m<=12; $m++) {
     $month = date('F', mktime(0,0,0,$m));
     echo $month. '<br>';
     }

但正在以下意想不到的输出:

一月三月三月四月五月五月七月七月八月十月十月十二月月

我在做什么错了,请帮助!

Answer 1:

试试这个:

for ($m=1; $m<=12; $m++) {
     $month = date('F', mktime(0,0,0,$m, 1, date('Y')));
     echo $month. '<br>';
     }


Answer 2:

月是同每年

$array = array("January", "February",.....);
for ($m=0; $m<12; $m++) {
     echo $array[$m]. '<br>';
     }


Answer 3:

我猜你应该循环它以这种方式。

for($i = 1 ; $i <= 12; $i++)
{
 echo date("F",strtotime(date("Y")."-".$i."-01"));
 echo "<br/>";
}

或者在你的情况,你想用mktime()

for($i = 1 ; $i <= 12; $i++)
{
 echo date("F",mktime(0,0,0,$i,1,date("Y")));
 echo "<br/>";
}


Answer 4:

设定daymktime()1 ,否则执行转换: 30.2.2012 = 1.3.2012

$month = date('F', mktime(0,0,0,$m,1));


Answer 5:

注重本地化。

您也可以使用此

setlocale(LC_TIME, 'it_IT');
for($m=1;$m<=12;$m++){
  echo strftime("%B", mktime(0, 0, 0, $m, 12));
}

在功能上的setlocale更改参数(),您可以显示本地化的文本。

中的setlocale码表



文章来源: Displaying the list of months using mktime for the year 2012
标签: php date mktime