Actionscript 日付を比較する方法 – クラス Date
Actionscriptで日付を比較する方法です。
指定された日にちが同一かを確認する方法を紹介します。
実務では、同じ日にちだったら・・・云々・・・みたいなことってありますよね。
ここでは Actionscriptで日付を比較する方法 を紹介します。
日付を比較する方法
以下のメソッドで解決できます。
/**
* 指定された Date 型 が 同一日かを返します。
*
* @param date1 対象日付
* @param date2 対象日付
* @return true: 同一日付である, false:同一日付ではない
*/
public static function equalDate(date1:Date, date2:Date):Boolean {
if ( date1 == null || date2 == null )
return false;
var dateA:Date = new Date(date1.fullYear, date1.month, date1.date);
var dateB:Date = new Date(date2.fullYear, date2.month, date2.date);
if ( dateA.time == dateB.time )
return true;
else
return false;
}
/**
* 指定された Date 型 が 同一日かを返します。
*
* @param date1 対象日付
* @param date2 対象日付
* @return true: 同一日付ではない, false:同一日付である
*/
public static function notEqualDate(date1:Date, date2:Date):Boolean {
if ( date1 == null || date2 == null )
return false;
var dateA:Date = new Date(date1.fullYear, date1.month, date1.date);
var dateB:Date = new Date(date2.fullYear, date2.month, date2.date);
if ( dateA.time == dateB.time )
return false;
else
return true;
}
日にちの比較なので、時間を指定しない変数に一度格納してから、.time
のプロパティを利用して比較しています。複数の Date
オブジェクトを比較する場合、日付を .time
にて時間として取得することで比較が可能です。Java
の before
とか after
みたいな日付比較のメソッドとはちょっと違いますね。
以下のテストを実行すると・・・
trace(equalsDate(new Date(), new Date()));
trace(notEqualsDate(new Date(), new Date()));
結果は以下の通りです。
true
false
ちなみに、大なり小なりを取得する場合は、
var date1:Date = new Date();
var date2:Date = new Date();
if (date1.time > date2.time)
return true;
else
return false;
のように記述すると取得できます。
おつかれさまでした。