2011-03-02 4 views
0

フレックス/アクションスクリプトでDate()オブジェクトを使用している場合は、次の関数を使用してnullの日付をチェックしています。これは、ヌル日付をチェックする適切な方法ですか、そこには良い選択肢がありますか?日以来Flex/Actionscriptでnullの日付をチェックする適切な方法はありますか?

public function IsDateNull(date:Date):Boolean 
{ 
    if (date && date.fullYear != 0) 
    { 
    return true; 
    } 

    return false; 
} 
+1

こんにちはジェイソン、日付オブジェクトを拡張するクラスで、プリミティブ型ではないので、それはデフォルト値を持っていないと、それはまだされていない場合はそのためだけnullにする必要がありますインスタンス化されます。日付は、ある種のデータベースマッピングやそれらの行に沿った何かから移入されていますか?それ以外の場合は、(!日付)これを行う関数を持つ必要はありません。 – shaunhusain

+0

@shaunhusain私は何か似たようなことを言っていた。本当の答えとして投稿するべきです。私はそれをやって罪悪感を感じ、カルマを盗んだのです。それは正当な理由です。 – JeffryHouser

+0

@shaunhusain、日付は様々な場所から来ています:バックエンドのデータ呼び出し、 'DateField.selectedDate'などです。' selectedDate'値に基づいて 'DateField.selectableRange'を設定しなければならない状況に遭遇しました別の「DateField」またはバックエンドデータから取得することができます。このような状況では、使用したいDateオブジェクトをnullにすることができます。これが私がこの小切手を使用している理由です。私はそれが理にかなったことを願う編集:そしてそれを答えとして追加してください!私は喜んでupvoteよ。 :) –

答えて

2

は、オブジェクトを拡張し、それがデフォルト値を持っていないので、それがまだインスタンス化されていない場合のみ、nullにする必要があり、プリミティブ型ではないクラスです。日付は、ある種のデータベースマッピングやそれらの行に沿った何かから移入されていますか?これを行うための機能を持っているそうではないだけ

if(!date) 

または

if(date==null) 

必要はありません。 DateField.selectedDateの場合、まだ日付が選択されていなければ、値はnullになります。これはもともとは答えとして投稿されていませんでした。なぜなら、さまざまなケースがあるように聞こえてくる問題を完全には理解していないからです。 DBへのサービスレイヤーおよび基本JDBC(またはその他のコネクター)、およびDBおよびデータ型のタイプによって、値が異なる場合があります。一般に、コンストラクタへの呼び出しによってメモリが獲得されるまで、Dateはnullになります。

おかげで、 ショーン

関連する問題