当我去下个月时,日历中缺少一些月份

时间:2019-01-29 07:17:33

标签: javascript php html

我有一个使用PHP的日历,下个月有问题,例如今天的月份是下个月的一月,而不是显示2月,而是显示3月,我没有这个问题直到1月29日,我进行了一些测试,通过更改日期来找到解决问题的方法,当我将日期更改为1月28日时,我的代码可以正常运行,我认为问题是我的日历正在搜索一个月,日,年,并且因为某些月份的日数不超过31,而2月的日数则不超过29,30,31,因此有些月份可以忽略。

foo.bar

比方说,今天的月份是一月,我希望当我选择下个月的月份是二月,而不是三月。

1 个答案:

答案 0 :(得分:0)

您是正确的,该问题源于下个月的可用天数。

由于您使用当天作为$ currentTimeStamp的基础,因此您会得到意外的结果,与此处提到的结果不同:http://php.net/manual/en/function.strtotime.php#107331

如果要继续使用日历中的当前日期,则需要以某种方式处理此问题。我建议如果今天的日期大于下个月的天数,请改用该月的最后一天:

$currentTimeStamp = strtotime("$year-$month");
if($day > date("t", $currentTimeStamp) {
  $day = date("t", $currentTimeStamp);
}
$currentTimeStamp = strtotime("$year-$month-$day");