gpt4 book ai didi

php - 为什么在循环出月份名称时会得到两个 March?

转载 作者:可可西里 更新时间:2023-10-31 22:08:50 25 4
gpt4 key购买 nike

为什么我在运行以下代码时得到两个 March 而不是 February 然后 March?

<?php

for($i=1; $i<= 12; $i++){

//MONTH NAME
$monthName = strftime('%B', mktime(0, 0, 0, $i));

if($i <= 9){
$monthNr = "0".$i;
}
else{
$monthNr = $i;
}

echo $monthNr . ':' . ucfirst($monthName) ."\n";

}
?>

输出:

01:January
02:March
03:March
04:April
05:May
06:June
07:July
08:August
09:September
10:October
11:November
12:December

最佳答案

这是因为:

( from the mktime function reference )

Arguments may be left out in order from right to left; any arguments thus omitted will be set to the current value according to the local date and time.

如果当前日期大于指定月份的最后一天,则额外的天数会将生成的时间戳延长到下个月。在这种情况下,今天是 30 号,所以 2 月 30 日变成了 3 月 2 日。

如果您向 mktime 添加一天,您将获得预期的结果。

$monthName = strftime('%B', mktime(0, 0, 0, $i, 1));

关于php - 为什么在循环出月份名称时会得到两个 March?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54446814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com