相关疑难解决方法(0)

无法从PHP中的DateTime获取上个月 - 这是一个(相当大的)错误吗?

我需要在PHP中创建函数,让我在给定的日期时间单位上升/下移.具体来说,我需要能够从当前月份进入下一个/上个月.

我想我可以使用DateTime :: add/sub(P1M)来做到这一点.然而,当试图获得前一个月时,如果日期值= 31-看起来它实际上试图倒数30天而不是递减月值,则会变得混乱!:

$prevMonth = new DateTime('2010-12-31'); 
Run Code Online (Sandbox Code Playgroud)

尝试减少月份:

$prevMonth->sub(new DateInterval('P1M')); // = '2010-12-01'
$prevMonth->add(DateInterval::createFromDateString('-1 month')); // = '2010-12-01'
$prevMonth->sub(DateInterval::createFromDateString('+1 month')); // = '2010-12-01'
$prevMonth->add(DateInterval::createFromDateString('previous month')); // = '2010-12-01'
Run Code Online (Sandbox Code Playgroud)

这肯定是错误的行为.有人有任何见解吗?谢谢-

注意: PHP版本5.3.3

php datetime

3
推荐指数
1
解决办法
5456
查看次数

标签 统计

datetime ×1

php ×1