2012-04-12 6 views
2

私はさまざまな段階で多数の日付で動作するKnockoutでアプリを構築しています。 私自身の連結を作るに頼るせずに、すべての日付は、単純な年 - 月 - 日も持っている整頓方法はありJSで清潔でタイムゾーンのない日付を返す

T05:00:00.000Z 

:もちろん、それらはすべてこのナンセンスは終わりに平手打ちしていますか?いくつかのきれいあり

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

...しかし、それは日付

を吐き出している私のコード内のいくつかの場所があるという事実を考えると、私の場合には手に負えなくなるだろう:私はこれを行うことができます知っています私は単純な日付を与えるだけの機能?たぶん、Dateプロトタイプにいくつかの種類の微調整?

これはノックアウトアプリなので、日付は観測値の中に保存されます。問題は、JSONに日付を保存するときに、日付がよりきれいにフォーマットされるようにすることです。

+0

"日付の喧嘩" ...それはどういう意味ですか? – Pointy

+0

たくさんの。トン。束。私のアプリのさまざまな場所は返されます。 –

答えて

3

これは、抽象概念の概念が実際に作用するところです。その後

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

たびに:あなたは本当にだけであなたは自分のコードでそれを使用し、その後1つのヘルパー関数を記述して、あなたのコード内で何度も何度も繰り返して、したくない3つの単純な関数を扱っているので、日付を必要とし、実行します。

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()); 
+0

ありがとうございました。私は言及すべきだった、これは私がノックアウトで構築しているアプリケーションであり、日付は観測可能な場所に保存されています。問題は、JSONに日付を保存するときに、日付がよりきれいにフォーマットされるようにすることです。 –

+0

それ以上のことは言えませんでした。 –

+1

@BenjaminAllison - これはあなたにとってはまだ有効です。正規のJavaScriptは、理論的にはノックアウトでうまく動作するはずです。私はノックアウトに精通していませんが、独自の機能を書くための「ベストプラクティス」や代替方法があるかもしれません。私はこの質問を、私が個人的にその機能を定義する方法で更新します。 – jmort253

関連する問題