1
日付は11-May-16
で、コンストラクタnew Date('11-May-16')
を使用して日付のインスタンスを作成したいとします。Javascriptを修正する方法FFとIEの無効な日付エラー
ただし、Internet ExplorerとFirefoxでは動作しません。
どのように修正できますか?
日付は11-May-16
で、コンストラクタnew Date('11-May-16')
を使用して日付のインスタンスを作成したいとします。Javascriptを修正する方法FFとIEの無効な日付エラー
ただし、Internet ExplorerとFirefoxでは動作しません。
どのように修正できますか?
Date()
コンストラクタ(Date.parse(...)
を呼び出す)によって正式にサポートされる形式は、IETF-compliant RFC 2822 timestampsとISO8601です。
他の形式は実装固有のものであり、クロスブラウザではサポートされない場合があります。
日付を作成するための迅速な依存関係のない方法は、それを自分で解析することです。たとえば、正規表現使用://www.ecma:サポートされている唯一の**公式**フォーマットは、ISO 8601のサブセットであることを
function parseDate(date) {
var MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', ...];
var date = '11-May-16';
var match = date.match(/(\d{2})-([A-Za-z]{3})-(\d{2})/);
return new Date(2000 + parseInt(match[3]), MONTHS.indexOf(match[2]), match[1]);
}
parseDate('11-May-16')
-> Wed May 11 2016 00:00:00
注意を([* EMA-262§20.3.3.2*](HTTP見ます-international.org/ecma-262/6.0/#sec-date.parse))。 – RobG