import dayjs from 'dayjs';
import weekday from 'dayjs/plugin/weekday';
import isSameOrAfter from 'dayjs/plugin/isSameOrAfter'
import isSameOrBefore from 'dayjs/plugin/isSameOrBefore'
dayjs.extend(weekday)
dayjs.extend(isSameOrAfter)
dayjs.extend(isSameOrBefore)
// 解决苹果电脑本地语言配置
// require('dayjs/locale/en');
import 'dayjs/locale/en'
dayjs.locale('en')

/**
 * 根据年月份得到周数据
 * @param {String} y 年
 * @param {String} m 月
 * @param {String} v 当前日期
 * @param {Number} t 格式化类型
 */
function getWeeksByMonth(y, m, v, t) {
    // 2021-12-1是11月的第5周（对这种情况进行判断）
    if(dayjs(v).date() < dayjs(v).day()){
        m = m-1
    }
    let len = dayjs(`${y}-${m}`).daysInMonth();
    let arr = [],
        weekIndex, week;
    [...Array(len)].forEach((c, i) => {
        let date = dayjs(`${y}-${m}-${i+1}`);
        if (date.day() == 1) {
            let date_start = date.weekday(1);
            let date_end = date.weekday(7);
            let index = arr.length + 1;
            let start = t ? date_start.format('MM月DD日') : date_start.format('MM-DD');
            let end = t ? date_end.format('MM月DD日') : date_end.format('MM-DD');
            let obj = {
                text: `第${index}周(${start}至${end})`,
                year: y,
                month: m,
                val: `${dayjs(date_start).format('YYYY-MM-DD')}`,
                // start: start + '(周一)',
                // end: end + '(周日)',
				start: start,
				end: end,
                index: index ,//1:该月第一周   2:该月第二周
				formatVal: t ? `${y}年${start}至${y}年${end}` : `${y}-${start}至${y}-${end}`
            }
            arr.push(obj)
            // week = obj
            if (dayjs(v).isSameOrAfter(date_start, 'date') && dayjs(v).isSameOrBefore(
                    date_end, 'date')) {
                        week = obj
                weekIndex = index;
            }
        }
    })

    return {
        arr,
        weekIndex,
        week
    }
}

// module.exports = {
//     getWeeksByMonth
// }
export default {
	getWeeksByMonth
}