如何将整个月加到日期上?

时间:2019-02-28 18:24:01

标签: php date calendar

我正在寻找一个函数(最好在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日。

感谢您的输入。

1 个答案:

答案 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'));  

请注意:编写后,我尚未测试此代码段。但应该可以。