new Date()で曜日を取得するときにIE8でNaNが返ってくる

new Date()で曜日を取得しようとするとIE8でNaNが返ってきたので、対応した方法をメモしておきます。
日付は2015-06-09 のような形式です。

原因

以下がIE8でうまく取得できなかったコードです。

JavaScript

	var weekData = ['日', '月', '火', '水', '木', '金', '土'];
	var date = '2015-06-09';
	var week = weekData[new Date(date).getDay()];
	alert(week) // undefined

new Date(date).getDay() の時点でNaNが返ってきていました。
調べてみると、日付の形式を変えるとよいみたいなので、以下のように変更しました。

JavaScript

	var weekData = ['日', '月', '火', '水', '木', '金', '土'];
	var date = '2015-06-09';
	var dateArr = date.split('-');
	var mdy = dateArr[1] + '/' + dateArr[2] + '/' + dateArr[0] // '06/09/2015';
	var week = weekData[new Date(mdy).getDay()];
	alert(week) // 火

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年3月
 12
3456789
10111213141516
17181920212223
24252627282930
31