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 个月。