Actionscript 日付を比較する方法 – クラス Date ホームページ制作 | 墨田区

Actionscript 日付を比較する方法 – クラス Date

LINEで送る
Pocket

日付を比較する方法


指定された日にちが同一かを確認する方法をご紹介します。
実務では、同じ日にちだったら・・・云々・・・みたいなことってありますよね。

以下のメソッドでそれが解決できます。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・



/**
 * 指定された 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;
のように記述すると取得できます。

LINEで送る
Pocket

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

コメントを残す

お名前 (必須)
メールアドレス
(アドレスは公開されません)

コメント(必須)

Trackback URL