2

さまざまな段階で、多数の日付で動作する Knockout を使用してアプリを構築しています。もちろん、彼らは皆、最後にこのナンセンスを平手打ちしています。

T05:00:00.000Z

独自の連結を行わずに、すべての日付を単純な年月日にするきちんとした方法はありますか? 私はこれを行うことができることを知っています:

getYear() . getMonth() + 1 . getDate()

...しかし、私のコードには日付を吐き出している場所がいくつかあるという事実を考えると、それは私の場合は扱いにくくなります

簡単な日付を与えるだけのクリーンな関数はありますか? たぶん、Date プロトタイプに何らかの微調整を加えますか?

これは Knockout アプリであるため、日付はオブザーバブル内に保存されます。問題は、日付を JSON に保存するときに、日付がよりきれいにフォーマットされるようにすることです。

4

1 に答える 1

3

ここで、抽象化の概念が実際に登場します。コード内で何度も繰り返したくない単純な関数を 3 つしか扱っていないため、ヘルパー関数を 1 つ記述してコード内で使用するだけです。

function getFormattedDate() {
    return getYear() . getMonth() + 1 . getDate();
}

次に、日付が必要なときはいつでも次を実行します。

var d = getFormattedDate();

また

alert(getFormattedDate());

また

document.getElementById("date").innerHTML = "Today's date is " + getFormattedDate();

getFormattedDate 関数をグローバル スコープから除外し、getFormattedDate の別の実装と競合しないようにするには、名前空間を使用します。

var myUtils = {
    getFormattedDate: function() {
        return getYear() . getMonth() + 1 . getDate();
    }
};

次に、次のように呼び出します。

alert( myUtils.getFormattedDate() );
于 2012-04-12T03:25:15.410 に答える