flatpickr で week (曜日) を取得して変更

動機

5分くらい探したけど currentWeekが見つからないから

 

対応

マッチした文字列を置換する

 

インスタンス

flatpickr("#flatpickr", {})

 

wを設定

dateFormat: "Y年m月d日-w H:i",

wは曜日だが対応している数値で表示される。0~6 (日~土)。他の年月日等と区別するため - を用いる。つまり -0~-6 の表示にさせる。

( 2020年も0が付くので、その文字はマッチさせない )

 

DOM取得

const fp = document.querySelector(".flatpickr-input");

 

画面で選択した直後にマッチした文字列を置換

fp.addEventListener('change', () => {
            weekList = [
                '日曜日',
                '月曜日',
                '火曜日',
                '水曜日',
                '木曜日',
                '金曜日',
                '土曜日'
            ]
            for (i = 0; i < weekList.length; i++{
                const replacedValue = fp.value.replace(`-${i}`, `(${weekList[i]})`);
                fp.value = replacedValue;
            }
        })

 

結果

f:id:m_rai:20200713105438p:plain