SalesforceのApexで日付を比較するには
DateクラスのisSameDayメソッドを使用する。
isSameDayメソッドの使い方
Date型の変数を2つ作成し、isSameDayメソッドをコールすれば比較結果が返ってくる。
Date date1 = Date.newInstance(2020, 1, 1);
Date date2 = Date.newInstance(2020, 1, 1);
Boolean result = date1.isSameDay(date2);
System.debug('result: ' + result);
isSameDayメソッドの引数にnullを指定してみた
isSameDayメソッドの引数にnullを指定するとどうなるか検証してみた。
結果はfalseになりそうだが、エラーであった。
Date date1 = Date.newInstance(2020, 1, 1);
Date date2 = null;
Boolean result = date1.isSameDay(date2);
System.debug('result: ' + result);
/* エラー内容
Line: 3, Column: 1
System.NullPointerException: Argument cannot be null.
*/
まとめ
isSameDayメソッドにnullを指定できないことが分かった。
処理によってはnullが引数になるパターンも発生しうるため、nullの場合はメソッドをコールしないように注意する必要がある。