Date.parse
どこで呼び出したのかわかりませんが、JavaScriptDate.parse
には 2 番目の引数がありません。
これを行うには、文字列を自分で解析するか、MomentJSなどを使用して解析する必要があります。自分で解析したい場合は、おそらく正規表現とルックアップ テーブル (月名用) が必要になるでしょう。正規表現は次のようになります。
var parts = /^\s*(\d+)\s+([A-Za-z]+)\s+(\d+)\s*$/.exec(str);
...parts[0]
日、parts[1]
月の名前、parts[2]
年になります。次に、月を小文字または大文字に変換し、ルックアップ テーブルを使用して月名を月番号にマップします。次の行に沿って何かを行います。
var months = {
"jan": 0,
"january": 0,
"feb": 1,
"february": 1,
"may": 4,
// ...
"dec": 11,
"december": 11
};
var parts = /^\s*(\d+)\s+([A-Za-z]+)\s+(\d+)\s*$/.exec(str);
var dt;
if (parts) {
parts[2] = months[parts[2].toLowerCase()];
if (typeof parts[2] !== "undefined") {
dt = new Date(parseInt(parts[3], 10),
parts[2],
parseInt(parts[1], 10));
}
}
実例| ソース
Date
次に、結果のオブジェクトをフォーマットできます。(繰り返しますが、そこで役立つライブラリがあります。)
または、もちろん、実際に を作成せず、Date
から直接フォーマットするだけですparts
。