11

javascriptテンプレートエンジンとしてjQueryテンプレートを使い始めたところです。私の質問は、日付(ASP.NET Json ActionResultから返される)を次の形式でフォーマットするにはどうすればよいですか?

/Date(1288709830000)/

私は次のことを試みました:

{{= $.format(new Date(parseInt(comment.DateCreated.substr(6))), 'd')}} 

上記では、新しいjqueryグローバリゼーションプラグインを使用して$.formatメソッドを追加していることに注意してください。{{= comment.DateCreated }}また、それは言うのに長い手であることに注意してください${comment.DateCreated}

よろしくお願いします。

4

4 に答える 4

3

これは私が使ったものです

var formatDate = function (datetime) {
    var dateObj = new Date(parseInt(datetime.replace("/Date(", "").replace(")/", ""), 10));
    return dateObj.format("dd-MMM-yyyy"); //01-Jun-2001
}

そして、これは私のJQueryテンプレートにあります

${formatDate(InceptionDate)}

于 2011-10-07T09:35:49.167 に答える
2

これは実際に機能します。Microsoft CDN でホストされているベータ版を使用していました。最新バージョンをダウンロードすると、すべてが期待どおりに機能します。

于 2010-12-07T21:48:20.017 に答える
1

私は非常にハッキーな解決策を思いつきました。次の関数をページに追加すると:

function format(o, t) {
    return $.format(o, t);
}

その後、式を次のように変更できます。

{{= format(new Date(parseInt(comment.DateCreated.substr(6))), 'd') }}

そして、それはうまくいきます。Microsoft によって作成された 2 つのプラグインがこのように競合するのは奇妙に思えます。

于 2010-12-03T09:10:25.820 に答える
0

jQueryテンプレート内で日時をフォーマットするには、次のような関数を記述できます。

function formatDate(datetime) {
    var dateObj = new Date(datetime);
    var dateStr = (dateObj.getMonth()+1) + "/" + dateObj.getDate() + "/" + dateObj.getFullYear();
    return dateStr; // will return mm/dd/yyyy
}

次に、次のようにjQueryテンプレート内からこの関数を呼び出すことができます。${formatDate(comment.DateCreated)}

詳細については、http://api.jquery.com/template-tag-equalを参照してください。

于 2011-01-16T21:56:25.850 に答える