2010-12-03 9 views
11

私はちょうど私のjavascriptテンプレートエンジンとしてjQuery Templatesを使い始めました。私の質問は、私は形で(ASP.NET JSONのActionResultから返される)日付の書式を設定する方法を、次のとおりです。jQueryテンプレートで日付/時刻をフォーマットするにはどうすればよいですか?

/Date(1288709830000)/ 

私は次のことをやってみました:

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

注上記の新しいを使用していますjqueryグローバル化プラグインを使用して$.formatメソッドを追加します。また、{{= comment.DateCreated }}${comment.DateCreated}と言っても間に合わないことに注意してください。

本当にありがとうございました。

+0

にあなたは何を期待していますか?実際に何が起こっていますか? – jfar

+0

jQueryやJavaScriptをテンプレートとして使用することはお勧めできません。あなたが私に尋ねるなら、それはちょうど大きな災害です。MVCビュー/サーバーレベルでテンプレートを試してみてください。 –

+7

@ Erx_VB.NExT.Coder - JavascriptとJQueryのテンプレートは、MicrosoftがJQueryのCOREにこのような機能を開発するのを助けてくれるような、まったくの災害ではありません。クライアント側のテンプレートは、APIを使って作業しているときに、帯域幅に敏感なモバイル開発や、特に外部のデザイナーと作業しているときにはすばらしく素晴らしいです。 – jfar

答えて

2

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

+0

「実際に動作する」とは何ですか? – Homer

+1

この行は、{{= $ .format(new Date(parseInt(comment)}})、 'd')}}行です。それが役に立てば幸い。 – nfplee

1

私は非常にハッキーな解決策を考え出しました。ページに次の関数を追加した場合:

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

あなたは、その後に式を変更することができます。

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

、それが正常に動作します。これは、Microsoftによって作成された2つのプラグインの両方がこのように競合することは奇妙に思えます。

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)}

は、以下を参照してください。

3

このhttp://api.jquery.com/template-tag-equalは私が使用したものである

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)}

関連する問題