"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getMonths = exports.getMonthEndDay = exports.copyDates = exports.calcDateNum = exports.getToday = exports.getNextDay = exports.getPrevDay = exports.getDayByOffset = exports.compareDay = exports.compareMonth = exports.formatMonthTitle = exports.ROW_HEIGHT = void 0; exports.ROW_HEIGHT = 64; function formatMonthTitle(date) { if (!(date instanceof Date)) { date = new Date(date); } return date.getFullYear() + "\u5E74" + (date.getMonth() + 1) + "\u6708"; } exports.formatMonthTitle = formatMonthTitle; function compareMonth(date1, date2) { if (!(date1 instanceof Date)) { date1 = new Date(date1); } if (!(date2 instanceof Date)) { date2 = new Date(date2); } var year1 = date1.getFullYear(); var year2 = date2.getFullYear(); var month1 = date1.getMonth(); var month2 = date2.getMonth(); if (year1 === year2) { return month1 === month2 ? 0 : month1 > month2 ? 1 : -1; } return year1 > year2 ? 1 : -1; } exports.compareMonth = compareMonth; function compareDay(day1, day2) { if (!(day1 instanceof Date)) { day1 = new Date(day1); } if (!(day2 instanceof Date)) { day2 = new Date(day2); } var compareMonthResult = compareMonth(day1, day2); if (compareMonthResult === 0) { var date1 = day1.getDate(); var date2 = day2.getDate(); return date1 === date2 ? 0 : date1 > date2 ? 1 : -1; } return compareMonthResult; } exports.compareDay = compareDay; function getDayByOffset(date, offset) { date = new Date(date); date.setDate(date.getDate() + offset); return date; } exports.getDayByOffset = getDayByOffset; function getPrevDay(date) { return getDayByOffset(date, -1); } exports.getPrevDay = getPrevDay; function getNextDay(date) { return getDayByOffset(date, 1); } exports.getNextDay = getNextDay; function getToday() { var today = new Date(); today.setHours(0, 0, 0, 0); return today; } exports.getToday = getToday; function calcDateNum(date) { var day1 = new Date(date[0]).getTime(); var day2 = new Date(date[1]).getTime(); return (day2 - day1) / (1000 * 60 * 60 * 24) + 1; } exports.calcDateNum = calcDateNum; function copyDates(dates) { if (Array.isArray(dates)) { return dates.map(function (date) { if (date === null) { return date; } return new Date(date); }); } return new Date(dates); } exports.copyDates = copyDates; function getMonthEndDay(year, month) { return 32 - new Date(year, month - 1, 32).getDate(); } exports.getMonthEndDay = getMonthEndDay; function getMonths(minDate, maxDate) { var months = []; var cursor = new Date(minDate); cursor.setDate(1); do { months.push(cursor.getTime()); cursor.setMonth(cursor.getMonth() + 1); } while (compareMonth(cursor, maxDate) !== 1); return months; } exports.getMonths = getMonths;