質問: Date.parse(facebookDate); ``` クロム中。私は日付に関連するタイムスタンプを取得します!完璧! しかし、他のすべての主要なブラウザで...私は "NaN"を得る!!! ? 確かにこれらのブラウザはすべて同じjavascript解析関数を使用していますか? 誰も同じJavaScript関数が異なる結果をもたらす理由を説明できますか? そして誰も私にこの問題を解決する方法を教えてもらえますか? 前もって感謝します アレックス
回答: ここでは、FirefoxとIE/Safariのための修正があります( [JavaScript:ISO-8601の日付文字列の解析をサポートするブラウザDate.parseを使用して](https://stackoverflow.com/questions/5802461/javascript-which-browsers-support-parsing-of-iso-8601-date- string-with-date-par ) ): DEMO ``` var noOffset = function(s) { var day= s.slice(0,-5).split(/\D/).map(function(itm){ return parseInt(itm, 10) || 0; }); day[1]-= 1; day= new Date(Date.UTC.apply(Date, day)); var offsetString = s.slice(-5) var offset = parseInt(offsetString,10)/100; if (offsetString.slice(0,1)=="+") offset*=-1; day.setHours(day.getHours()+offset); return day.getTime(); } ``` From MDN JavaScript 1.8.5メモ ISO 8601形式の日付文字列のサブセットも解析できるようになりました。 また、日付/時刻文字列はISO 8601形式でもかまいません。 JavaScript 1.8.5/Firefox 4以降、ISO 8601のサブセットがサポートされています。たとえば、「2011-10-10」(日付のみ)または「2011-10-10T14:48:00(日付と時刻)」を渡して解析することができます。ISO日付のタイムゾーンはまだサポートされていないため、 10-10T14:48:00 + 0200 "(タイムゾーン付き)はまだ意図した結果を得ていません。