2015-01-01 9 views
5

多くのフィールドを返す.net asmx webserviceを呼び出しています。日付のフィールドの1つ。日付は次の形式になります。"effective_date":"\/Date(978411600000)\/".NET WebService ISO-8601形式のJSON日付

このように、How do I format a Microsoft JSON date?返された日付がISO 8601形式であれば、この方法でJavaScriptを日付として解釈できるようになります。

現在、私は次のjavascriptを使用しています:new Date(d.effective_date)と私はメッセージInvalid Dateを得ます。リンクされたSOの質問によると、Webサービスで形式ではなくISO形式で日付を渡すことができれば、これを行うことができるはずです。

私の質問は、WebサービスでISO 8601形式の日付を返すにはどうすればいいですか?

注: 私は(リンク、質問からの回答ごとに)これを使用することができますことを承知している:var date = new Date(parseInt(d.effective_date.substr(6)));、しかしIncoming date values should be formatted in ISO-8601が、私は、着信を取得する方法を思ったんだけどというコメントに記載されていますこのISO形式のWebサービスの日付。

+0

どのようにWebサービスがありますか?あなたは、asp.net、mvcなどを使用していますか? 'Json.Net'を使用した場合、' DateFormatHandling.IsoDateFormat'を使用できます。 –

+0

私はasp.netを使用しています。私は反映するためにタグを更新しました。 – kralco626

+0

@ kralco626解決策を見つけましたか?私も同じ問題を経験しており、asmx WebサービスでISO-8601形式の日付を返すようにしたいと思います!私は日付互換性を確認するjavascriptコードを追加することができますが、Webサービスがすべての日付をISO-8601形式で返すことを好むでしょう。 – learner

答えて

0

あなたが使用することができます:

var date = new Date(d.effective_date); 
date.toISOString(); // ISO-8601 formatted string 

JSFiddleを:http://jsfiddle.net/nanndoj/gjtkvrsy/

+0

を使用していますが、これはJavaScript側にありますか?私は、Webサービスの日付をISO形式のjavascriptに渡したいと思います。今、私が新しい日付(d.effective_date)を言うと、javascriptはWebサービスから送信された日付が正しくフォーマットされていないため、無効な日付メッセージを返します。 – kralco626

+0

あなたのサーバーが "Date"文字列で始まるデータを返すので、無効な日付を取得していると思われます。これを新しいDate()引数として置くのではなく、これを削除するかeval( "new" + d.effective_date) – nanndoj

+0

これを見てくださいhttp://jsfiddle.net/nanndoj/gjtkvrsy/1/ – nanndoj