UNPKG

window-calander

Version:

```js import WindowCalander from 'window-calander'; const WindowCalander = require("window-calander");

66 lines (56 loc) 1.64 kB
export interface WindowCalanderDate { year: number; month: number; date: number; day: number; isThisMonth: boolean; } export type WindowCalanderLine = WindowCalanderDate[]; export type WindowCalander = WindowCalanderLine[]; function getWindowCalander( settingYear: number, settingMonth: number ): WindowCalander { const dateObj = new Date(); const getYear = (): number => dateObj.getFullYear(); const getMonth = (): number => dateObj.getMonth() + 1; const getDate = (): number => dateObj.getDate(); const getDay = (): number => dateObj.getDay(); const setDate = (date: number): void => { dateObj.setDate(date); }; const nextDate = (): void => { dateObj.setDate(getDate() + 1); }; const prevDate = (): void => { dateObj.setDate(getDate() - 1); }; dateObj.setMonth(settingMonth - 1); dateObj.setFullYear(settingYear); setDate(1); const dayIndex: number = getDay(); for (let i = 0; i < dayIndex; i++) { prevDate(); } const calanderLineArr: WindowCalander = []; for (let i = 0; i < 6; i++) { const dateArr: WindowCalanderLine = []; for (let j = 0; j < 7; j++) { const year: number = getYear(); const month: number = getMonth(); const nowDate: number = getDate(); const dayIndex: number = getDay(); dateArr.push({ year, month, date: nowDate, day: dayIndex, isThisMonth: month === settingMonth, }); nextDate(); } calanderLineArr.push(dateArr); } return calanderLineArr; } export default getWindowCalander;