我现在面临一个问题,需要尽快解决.我尝试使用以下代码列出当前年份(2012)的所有月份:
for ($m=1; $m<=12; $m++) { $month = date('F', mktime(0,0,0,$m)); echo $month. '<br>'; }
但我得到了以下意外输出:一月三月三月五月五月七月七月八月十月十月十二月十二月我做错了什么请帮帮我!!!
dkqlctbz1#
试试这个:
for ($m=1; $m<=12; $m++) { $month = date('F', mktime(0,0,0,$m, 1, date('Y'))); echo $month. '<br>'; }
5ktev3wc2#
与mktime不同,但同样强大
$array = array("January", "February",.....); for ($m=0; $m<12; $m++) { echo $array[$m]. '<br>'; }
1cklez4t3#
我想你应该这样循环。
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/>"; }
70gysomp4#
将mktime()中的day设置为1,否则进行转换:30.2.2012 = 1.3.2012
mktime()
day
1
30.2.2012 = 1.3.2012
$month = date('F', mktime(0,0,0,$m,1));
wlzqhblo5#
注意本土化。您还可以使用此
setlocale(LC_TIME, 'it_IT'); for($m=1;$m<=12;$m++){ echo strftime("%B", mktime(0, 0, 0, $m, 12)); }
更改函数setlocale()上的参数,可以显示本地化文本。list of setlocale codes
nfeuvbwi6#
如果你用laravel
@for ($x = 1; $x <= 12; $x++) <option value="{{$x}}">{{date('F', mktime(0, 0, 0, $x, 10))}}</option> @endfor
6条答案
按热度按时间dkqlctbz1#
试试这个:
5ktev3wc2#
与mktime不同,但同样强大
1cklez4t3#
我想你应该这样循环。
或者在您的情况下,您希望使用mktime()
70gysomp4#
将
mktime()
中的day
设置为1
,否则进行转换:30.2.2012 = 1.3.2012
wlzqhblo5#
注意本土化。
您还可以使用此
更改函数setlocale()上的参数,可以显示本地化文本。
list of setlocale codes
nfeuvbwi6#
如果你用laravel