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) // 火
【参考サイト】
コメントが承認されるまで時間がかかります。