JavaScriptの日付オブジェクトは、年、月、日とバラバラにセットして使いますが、日付を表す文字列をセットしても日付として認識します。
document.write(new Date("15 June 2008"));
これを実行すると次の通り表示されます。
Sun Jun 15 00:00:00 UTC+0900 2008
では、どのような日付文字列ならば正しく処理されるのでしょうか。
15 June 2008 | これが標準的な英語表記ですが、この場合、(上の通り)意図通り処理されます。 |
15 Jun 2008 | 月を3文字に省略した場合も意図通り処理されます。 |
2008 Jun 15 | 年、月、日という日本式の順序でも意図通り処理されます。 |
2008 jun 15 | 月を小文字にしてみました。これもOK。 |
jun 15 2008 | 月、日、年という順序でもOK。 |
jun 2008 15 | 月、年、日と言う順序でもOK。 |
jun, 2008, 15 | カンマ区切りでもOK。 |
つまり次の条件ならば意図通り処理されるようです。
- 年は4桁
- 月は3文字以上の英語表記
- 日は2桁以下
- スペース区切りまたはカンマ区切り
一方、次のような文字列はダメでした。
2008-6-15
2008-jun-15
2008-jun-15
コメント