1

私は現在、次のような日時形式を使用しています。

2012-10-11T00:00:00Z

そして、datejsは末尾の「z」に満足していないようです。

リクエストでは、私はただ使用します

"\/Date(" + new Date(2012-10-11T00:00:00).getTime() + ")\/";

jsonに必要な形式にするためですが、応答(c#バックエンド)から返されると、「z」が自動的に追加されます。それを取り除く方法や、datejsがこの形式を解析できるようにする方法はありますか?

4

2 に答える 2

2

アップデート

チェックアウトmoment.js、それはjavascriptの日時に関する多くの一般的な問題を解決しました。

日付の解析、検証、操作、およびフォーマット用の5kbのJavaScript日付ライブラリ。

于 2012-10-11T05:58:15.987 に答える
0

日時文字列が常にその形式であり、常にUTCであることがわかっている場合は、Date.UTCを使用して非常に簡単に日付オブジェクトに変換し、非常に単純な関数のライブラリの読み込みを節約できます。

function isoStringToDate(s) {
  var d = s.match(/\d+/g);
  return new Date(Date.UTC(d[0],--d[1],d[2],d[3],d[4],d[5],d[6]||0));
}

Zが存在するかどうかは関係ありません。ちなみに、JavaScriptでは、タイムゾーンのないISO8601日時文字列はUTCとして扱われる必要があります

時間値を取得するには:

isoStringToDate('2012-10-11T00:00:00').getTime()

または、数文字を保存したい場合(難読化のリスクがあります):

isoStringToDate('2012-10-11T00:00:00')*1

しかし、私は最初の方が好きです。

于 2012-10-11T06:46:30.257 に答える