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