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 にて時間として取得することで比較が可能です。Javabefore とか 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;

のように記述すると取得できます。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。