import { useState, useEffect } from "react"; import { useHistory } from "react-router-dom"; import moment from "moment"; import DatePicker from "./DatePicker.js"; import styles from "./calender.module.scss"; const Calender = ({ selectDate, setSelectDate }) => { const [dateList, setDateList] = useState([]) const [dateArr, setDateArr] = useState([]) const [date, setDate] = useState(moment().format('YYYY-MM-DD')) const [weekly, setWeekly] = useState([]) const [week, setWeek] = useState(["일", "월", "화", "수", "목", "금", "토"]) const [month, setMonth] = useState({ pre: moment(selectDate).subtract(1, 'months').format('YYYY-MM'), cur: moment(selectDate).format('YYYY-MM'), next: moment(selectDate).add(1, 'months').format('YYYY-MM') }) const history = useHistory() useEffect(() => { setMonth({ ...month, pre: moment(selectDate).subtract(1, 'months').format('YYYY-MM'), cur: moment(selectDate).format('YYYY-MM'), next: moment(selectDate).add(1, 'months').format('YYYY-MM') }) getDate(selectDate) getWeek(selectDate) }, [selectDate]) function getWeek(oneDay) { let dateArr = [] dateArr = Array(7).fill(0).map((n, i) => { let current = moment(oneDay).add((n + i), 'days') return
setSelectDate(current.format('YYYY-MM-DD'))}> {current.isSame(oneDay) || current.format("DD") === "01" ? {current.format('YYYY.MM')} : ""}
{current.format('DD')} {current.isSame(moment().format('YYYY-MM-DD')) ? "오늘" : week[Number(current.format("d"))]}
}) console.log("Dadsa--===", dateArr) setWeekly(dateArr) } function getDate(oneDay) { let dateArr = [] let lastWeek = moment(oneDay).clone().subtract(6, 'days') const nextWeek = moment(oneDay).clone().add(12, 'days') while (lastWeek.isBefore(nextWeek)) { dateArr.push({ date: lastWeek.format('YYYY-MM-DD'), day: lastWeek.format('d') }) lastWeek.add(1, 'days') } const resultArr = dateArr.map(el =>
setSelectDate(el.date)}> {moment(el.date).isSame(oneDay) || el.date.split('-')[2] === "01" ? {moment(el.date).format('YYYY.MM')} :

}
{moment(el.date).format('DD')} {(moment(el.date).isSame(moment().format('YYYY-MM-DD')) && moment(el.date).isSame(selectDate)) ? "오늘" : week[el.day]}
) setDateList(resultArr) } return ( <> {console.log("date==", selectDate)}
{dateList[0]}{dateList[1]}{dateList[2]}{dateList[3]}{dateList[4]}{dateList[5]}
{dateList[6]}{dateList[7]}{dateList[8]}{dateList[9]}{dateList[10]}{dateList[11]}
{dateList[12]}{dateList[13]}{dateList[14]}{dateList[15]}{dateList[16]}{dateList[17]}
) } export default Calender