M 用于表示月和分钟。
如引用的 ISO 6801 维基百科页面 http://en.wikipedia.org/wiki/Iso8601#Durations 上所述
为了解决歧义,“P1M” 是一个月的时间段,“PT1M” 是一分钟的时间段(注意时间指示符 T,它位于时间值之前)。
使用:PHP 5.3.2-1ubuntu4.19
// 3 个月
$dateTime = new DateTime;echo $dateTime->format( DateTime::ISO8601 ), PHP_EOL;
$dateTime->add(new DateInterval("P3M"));
echo $dateTime->format( DateTime::ISO8601 ), PHP_EOL;
结果为
2013-07-11T11:12:26-0400
2013-10-11T11:12:26-0400
// 3 分钟
$dateTime = new DateTime;echo $dateTime->format( DateTime::ISO8601 ), PHP_EOL;
$dateTime->add(new DateInterval("PT3M"));
echo $dateTime->format( DateTime::ISO8601 ), PHP_EOL;
结果为
2013-07-11T11:12:42-0400
2013-07-11T11:15:42-0400
在时间间隔中的 P 之后插入一个 T 以添加 3 分钟而不是 3 个月。