2012-10-26 9 views
7

現在、私のコードは週を追加していますが、WeekではなくDaysを使用しています。私はを読んだことがあり、それがどのように動作するかはよくわかりません。DateIntervalを使用してDateTimeオブジェクトに週を追加する

PHP: DateInterval

# Adds 7 days to the project launch date. 
$project_launch_date->add(new DateInterval('P7D')); 

代わりの7日間マニュアルを追加して、どのように私は、 '週に追加' を指定し、または 'n週間を追加' をすることができますか?

答えて

25

DateIntervalがわかりにくい場合は、を変更してDateTimeクラスのを変更してください。それはあなたがDateIntervalを使用することを好む場合は、コメント

のないコードをより読みやすくなりますので、私は、修正使用することを好む

$date = new DateTime(); 
$date->modify('+1 day'); 
$date->modify('+5 week'); 

は、ここで良いの参照です:http://www.php.net/manual/en/dateinterval.construct.php

だから、5週間P5Wなり、 3ヶ月はP3M、5週間、3ヶ月P3M5Wなどとなります。

+1

'modify'は、呼び出し側オブジェクトのDateTimeをインラインで変更しますか?または、私は行く必要があります: '$ date = $ date-> modify( '+ 1 day');' – sergserg

+1

はい、元のオブジェクトを変更します(DateIntervalを追加するだけでなく)。保存する必要がある場合は、クローンを使用することができます: '$ modDate = clone $ date; $ modDate-> modify( '+ 5 weeks'); ' –

+0

このメソッドのドキュメントから、日付に月を加算または減算するのは危険です。あなたもこれに気付きましたか? – craned

関連する問題