我正在寻找一个函数(最好在PHP中)来为日期添加整数个月。我知道起初这似乎微不足道,但我遇到了问题。
例如,它应该从最后一天跳到最后一天:2月28日+ 1个月应为3月31日。我也希望3月31日+ 1个月给4月30日。我觉得4月29日+ 1个月应该在5月29日。
基本的PHP $ t = strtotime(“ + 1个月”,$ t)并非如此。有时会跳过几个月,2月28日+ 1个月就是3月28日。
感谢您的输入。
答案 0 :(得分:0)
也许这可以帮助您:
// month to set
$iMonth = 1;
// setup datetime object
$oMyDate = new DateTime('now', new DateTimeZone('Europe/Berlin'));
// set date by given month
$oMyDate->setDate($oMyDate->format('Y'), (int)$iMonth, 1);
// now increment month by one
$oMyDate->modify('+ 1 month');
// set pointer to last day of month
$oMyDate->modify('last day of this month');
// output
var_dump($oMyDate->format('Y-m-d'));
请注意:编写后,我尚未测试此代码段。但应该可以。