みなさんこんにちは。
salesforceお助け隊の加藤です。
今回は、2つの日付の期間日数を求める方法をご紹介します。
2つの日付の期間を日数で取得するには、
DateクラスのdaysBetweenメソッドを使用します。
daysBetweenメソッドの引数には比較するDateクラスを渡します。
例)
2010/12/1~2010/12/31の期間の日数を求める。
Date startDate = Date.newInstance(2010,12,1);
Date endDate = Date.newInstance(2010,12,31);
System.debug(startDate.daysBetween(endDate));
結果は、30が返されます。
日付の比較を逆にするとマイナスが返されます。
System.debug(endDate.daysBetween(startDate));
結果は、-30が返されます。
同日を比較すると、
Date startDate = Date.newInstance(2010,12,1);
Date endDate = Date.newInstance(2010,12,1);
System.debug(startDate.daysBetween(endDate));
結果は、0が返されます。
返された値は、比較の基点となった開始日付の
DateクラスのaddDaysメソッド(日付の加算を行なうメソッド)に渡すと
終了日付が返されます。
例)
開始日付が、2010/12/1
終了日付が、2010/12/31
Date startDate = Date.newInstance(2010,12,1);
Date endDate = Date.newInstance(2010,12,31);
System.debug(startDate.addDays(startDate.daysBetween(endDate)));
結果は、2010/12/31が返されます。
「セールスフォースお助け隊ブログ」へのコメントやご意見等ありましたら
ファンページまでお願いします。 Facebookのファンページ

