Memos About Salesforce

Salesforceにハマってたこと!

日付間の日数計算

イングリッシュベルの公式ページ・無料体験はこちら

日付計算好きです。

そこで今回は、

2つの日付の期間日数を計算する方法について

ご紹介します。


2つの日付の間の日数で計算するには、

DateクラスのdaysBetweenメソッドを使えば、
結果が返ってくるです。

daysBetweenメソッドの引数には
比較するDateクラスを渡します。

例)
2017/12/1~2017/12/31の期間の日数を求める。

Date startDate = Date.newInstance(2017,12,1);

Date endDate = Date.newInstance(2017,12,31);

System.debug(startDate.daysBetween(endDate));

結果は、30が返されます。

日付の比較を逆にするとマイナスが返されます。

System.debug(endDate.daysBetween(startDate));

結果は、-30が返されます。

同日を比較すると、

Date startDate = Date.newInstance(2017,12,1);

Date endDate = Date.newInstance(2017,12,1);

System.debug(startDate.daysBetween(endDate));

結果は、0が返されます。


返された値は、比較の基点となった開始日付の

DateクラスのaddDaysメソッド

(日付の加算を行なうメソッド)に渡すと

終了日付が返されます。

例)
開始日付が、2017/12/1
終了日付が、2017/12/31

Date startDate = Date.newInstance(2017,12,1);

Date endDate = Date.newInstance(2017,12,31);

System.debug(startDate.addDays(startDate.daysBetween(endDate)));

結果は、2017/12/31が返されます。

大したことではないものです。