function operationDateData(){ try{ // date1,date2,date3 フィールドに値がある前提ですが、無い場合等は置き換えて参考にしてください。 var doc:NotesDocument = null; var dtString = ""; doc = document1.getDocument(true); // NotesDateTimeオブジェクト (lotus.domino.local.DateTime) var ndt:NotesDateTime = doc.getItemValue("date1")[0]; // データバインド値 var ndt2:NotesDateTime = doc.getItemValue("date2")[0]; // データバインド値 var ndt3:NotesDateTime = doc.getItemValue("date3")[0]; // データバインド値 var ndtChg:NotesDateTime = null; // Date オブジェクト (java.util.Date) var ddt:Date = @Now(); // 現在の日時を取得 var ddt2:Date = @Today(); // 今日のの日時を取得 var ddt3:Date = @Now(); // 現在の日時を取得 var ddtChg:Date = null; var ddtChg2:Date = null; ////// 比較 /////// //// NotesDateTimeオブジェクト // ①NotesDateTime 秒単位 ndtとndt2の秒単位の差を取得 var secDeff:int = ndt.timeDifferenceDouble(ndt2); // ②日付だけの比較 文字列で比較が可能(時間は判定外 例:2018/05/22) if(ndt.getDateOnly() <= ndt2.getDateOnly()){ // ndt2の方が新しいか同じ日 } //// Dateオブジェクト // ③オブジェクト単位で比較 if(ddt <= ddt3){ // ddt3 の方が新しいか同じ日時 } // ④ミリ秒単位で比較 if(ddt.getTime() <= ddt2.getTime()){ // ddt2 の方が新しいか同じ日時 } // ⑤年月日までで比較 ddtChg = new Date(ddt.getFullYear() ,ddt.getMonth(), ddt.getDate()); ddtChg2 = new Date(ddt2.getFullYear(),ddt2.getMonth(), ddt2.getDate()); if(ddtChg.getTime() <= ddtChg2.getTime()){ // ddtChg2 の方が新しいか同じ日時 } }catch(e){ return false; } }
NotesDateTimeオブジェクト、Dateオブジェクト同士を比較
それぞれを別のもの比較したい場合はそれぞれをどちらかのオブジェクトに変換してから比較。
① NotesDateTimeオブジェクト同士を秒単位で差を取得することが可能です。
② NotesDateTimeオブジェクト同士を日付単位で比較、時間は対象外です。
③Dateオブジェクト同士をミリ秒まで比較。
④Dateオブジェクト同士を比較 ミリ秒単位まで取得してそれを比較する。
⑤Dateオブジェクト同士を年月日までで比較する。時間は対象外です。