12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import { createNamespace } from "../utils/index.mjs";
- const [name, bem, t] = createNamespace("calendar");
- const formatMonthTitle = (date) => t("monthTitle", date.getFullYear(), date.getMonth() + 1);
- function compareMonth(date1, date2) {
- const year1 = date1.getFullYear();
- const year2 = date2.getFullYear();
- if (year1 === year2) {
- const month1 = date1.getMonth();
- const month2 = date2.getMonth();
- return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
- }
- return year1 > year2 ? 1 : -1;
- }
- function compareDay(day1, day2) {
- const compareMonthResult = compareMonth(day1, day2);
- if (compareMonthResult === 0) {
- const date1 = day1.getDate();
- const date2 = day2.getDate();
- return date1 === date2 ? 0 : date1 > date2 ? 1 : -1;
- }
- return compareMonthResult;
- }
- const cloneDate = (date) => new Date(date);
- const cloneDates = (dates) => Array.isArray(dates) ? dates.map(cloneDate) : cloneDate(dates);
- function getDayByOffset(date, offset) {
- const cloned = cloneDate(date);
- cloned.setDate(cloned.getDate() + offset);
- return cloned;
- }
- function getMonthByOffset(date, offset) {
- const cloned = cloneDate(date);
- cloned.setMonth(cloned.getMonth() + offset);
- if (cloned.getDate() !== date.getDate()) {
- cloned.setDate(0);
- }
- return cloned;
- }
- function getYearByOffset(date, offset) {
- const cloned = cloneDate(date);
- cloned.setFullYear(cloned.getFullYear() + offset);
- if (cloned.getDate() !== date.getDate()) {
- cloned.setDate(0);
- }
- return cloned;
- }
- const getPrevDay = (date) => getDayByOffset(date, -1);
- const getNextDay = (date) => getDayByOffset(date, 1);
- const getPrevMonth = (date) => getMonthByOffset(date, -1);
- const getNextMonth = (date) => getMonthByOffset(date, 1);
- const getPrevYear = (date) => getYearByOffset(date, -1);
- const getNextYear = (date) => getYearByOffset(date, 1);
- const getToday = () => {
- const today = /* @__PURE__ */ new Date();
- today.setHours(0, 0, 0, 0);
- return today;
- };
- function calcDateNum(date) {
- const day1 = date[0].getTime();
- const day2 = date[1].getTime();
- return (day2 - day1) / (1e3 * 60 * 60 * 24) + 1;
- }
- export {
- bem,
- calcDateNum,
- cloneDate,
- cloneDates,
- compareDay,
- compareMonth,
- formatMonthTitle,
- getDayByOffset,
- getMonthByOffset,
- getNextDay,
- getNextMonth,
- getNextYear,
- getPrevDay,
- getPrevMonth,
- getPrevYear,
- getToday,
- getYearByOffset,
- name,
- t
- };
|