UNPKG

chinese-days

Version:

中国节假日、调休日、工作日、24节气查询,农历阳历互转,支持 TS、CommonJS、UMD 模块化使用,提供 ics 日历格式,可供 Google Calendar、Apple Calendar、Microsoft Outlook 等客户端订阅。

231 lines (206 loc) 8.03 kB
declare type ConfigType = string | number | Date | Dayjs | null | undefined; declare class Dayjs { private _date; private static daysOfWeek; constructor(date?: ConfigType); toDate(): Date; isValid(): boolean; diff(date: string | number | Date | Dayjs | null | undefined, unit?: "day" | "month" | "year"): number; startOf(unit?: "year" | "month" | "day"): Dayjs; endOf(unit?: "year" | "month" | "day"): Dayjs; add(value: number, unit: "year" | "month" | "day"): Dayjs; subtract(value: number, unit: "year" | "month" | "day"): Dayjs; format(formatStr: string): string; year(): number; year(year: number): Dayjs; month(): number; month(month: number): Dayjs; date(): number; date(day: number): Dayjs; day(): number; day(day: number): Dayjs; isBefore(date: string | number | Date | Dayjs | null | undefined): boolean; isAfter(date: string | number | Date | Dayjs | null | undefined): boolean; isSame(date: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "day"): boolean; isBetween(startDate: string | number | Date | Dayjs | null | undefined, endDate: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "day"): boolean; } declare const _default: { getLunarFestivals: (start?: ConfigType, end?: ConfigType) => { date: string; name: string[]; }[]; default: { getLunarFestivals: (start?: ConfigType, end?: ConfigType) => { date: string; name: string[]; }[]; }; monthDays: (y: number, m: number) => number; getLunarYears: (startYear: number, endYear: number) => { year: number; lunarYear: string; lunarYearCN: string; }[]; getYearLeapMonth: (year: number) => { year: number; leapMonth: number | undefined; leapMonthCN: string | undefined; days: number; }; getLunarDate: (date: ConfigType) => LunarDateDetail; getLunarDatesInRange: (startDate: ConfigType, endDate: ConfigType) => LunarDateDetail[]; getSolarDateFromLunar: (lunarDate: ConfigType) => { date: string; leapMonthDate?: string; }; getSolarTermDate: (year: number, month: number, term: SolarTermKey) => string; getSolarTerms: (start?: ConfigType, end?: ConfigType) => SolarTerm_2.SolarTerm[]; getSolarTermsInRange: (start?: ConfigType, end?: ConfigType) => SolarTerm_2.SolarTerm[]; isHoliday: (date: ConfigType) => boolean; isWorkday: (date: ConfigType) => boolean; isInLieu: (date: ConfigType) => boolean; getDayDetail: (date: ConfigType) => { work: boolean; name: string; date: string; }; getHolidaysInRange: (startInput: ConfigType, endInput: ConfigType, includeWeekends?: boolean) => string[]; getWorkdaysInRange: (startInput: ConfigType, endInput: ConfigType, includeWeekends?: boolean) => string[]; findWorkday: (deltaDays?: number, date?: ConfigType) => string; }; export default _default; export declare const findWorkday: (deltaDays?: number, date?: ConfigType) => string; /** 获取工作日详情 */ export declare const getDayDetail: (date: ConfigType) => { work: boolean; name: string; date: string; }; /** 获取节假日 */ export declare const getHolidaysInRange: (startInput: ConfigType, endInput: ConfigType, includeWeekends?: boolean) => string[]; /** * 计算指定日期的农历元素 * @param date 指定日期 * @returns 农历信息 */ export declare const getLunarDate: (date: ConfigType) => LunarDateDetail; /** * 获取范围内所有日期的农历信息 * @param startDate 开始日期 * @param endDate 结束日期 * @returns 范围内所有日期的农历信息 */ export declare const getLunarDatesInRange: (startDate: ConfigType, endDate: ConfigType) => LunarDateDetail[]; /** * 获取农历节日(包含固定节日和特殊计算节日) * @param start 开始日期 * @param end 结束日期 */ export declare const getLunarFestivals: (start?: ConfigType, end?: ConfigType) => { date: string; name: string[]; }[]; /** * 获取指定范围内的所有农历年份 信息 * @param startYear 起始农历年份 * @param endYear 结束农历年份 * @returns 农历年份列表 */ export declare const getLunarYears: (startYear: number, endYear: number) => { year: number; lunarYear: string; lunarYearCN: string; }[]; /** * 根据阴历日期查询阳历日期 * @param lunarDate 农历日期 * @param isLeapMonth 是否闰月 * @returns 阳历日期 */ export declare const getSolarDateFromLunar: (lunarDate: ConfigType) => { date: string; leapMonthDate?: string; }; export declare const getSolarTermDate: (year: number, month: number, term: SolarTermKey) => string; /** * 获取指定日期范围内的节气(仅节气当日) * @param start 开始日期 * @param end 不传只查当天 * @returns Array of solar terms => 节气开始日数组 */ export declare const getSolarTerms: (start?: ConfigType, end?: ConfigType) => SolarTerm[]; /** * 获取指定日期范围内的所有每日节气信息 * @param start 开始日期 * @param end 不传只查当天 * @returns Array of solar terms => 节气日数组 */ export declare const getSolarTermsInRange: (start?: ConfigType, end?: ConfigType) => SolarTerm[]; /** 获取工作日 */ export declare const getWorkdaysInRange: (startInput: ConfigType, endInput: ConfigType, includeWeekends?: boolean) => string[]; /** * 获取指定阳历年份的闰月 * @param year 年份 * @returns 农历闰月月份 */ export declare const getYearLeapMonth: (year: number) => { year: number; leapMonth: number | undefined; leapMonthCN: string | undefined; days: number; }; /** 是否节假日 */ export declare const isHoliday: (date: ConfigType) => boolean; /** 是否调休日 - 是节假日,但后续有需要补班 */ export declare const isInLieu: (date: ConfigType) => boolean; /** 是否工作日 */ export declare const isWorkday: (date: ConfigType) => boolean; declare interface LunarDateDetail { /** 阳历日期 */ date: string; /** 农历年份 */ lunarYear: number; /** 农历月份 */ lunarMon: number; /** 农历日期 */ lunarDay: number; /** 是否闰月 */ isLeap: boolean; /** 年柱,天干地支表示的年份 */ yearCyl: string; /** 月柱,天干地支表示的月份 */ monCyl: string; /** 日柱,天干地支表示的日期 */ dayCyl: string; /** 生肖 */ zodiac: string; /** 农历年份的中文写法 */ lunarYearCN: string; /** 农历月份的中文写法 */ lunarMonCN: string; /** 农历日期的中文写法 */ lunarDayCN: string; } /** * 获取指定年月的阴历天数 * @param y 农历年份 * @param m 农历月份 * @returns 月份天数 */ export declare const monthDays: (y: number, m: number) => number; export declare interface SolarTerm { date: string; term: SolarTermKey; name: string; index?: number; } declare namespace SolarTerm_2 { export { SolarTerm, getSolarTermDate, getSolarTerms, getSolarTermsInRange } } declare type SolarTermKey = "the_beginning_of_spring" | "rain_water" | "the_waking_of_insects" | "the_spring_equinox" | "pure_brightness" | "grain_rain" | "the_beginning_of_summer" | "lesser_fullness_of_grain" | "grain_in_beard" | "the_summer_solstice" | "lesser_heat" | "greater_heat" | "the_beginning_of_autumn" | "the_end_of_heat" | "white_dew" | "the_autumn_equinox" | "code_dew" | "frost_descent" | "the_beginning_of_winter" | "lesser_snow" | "greater_snow" | "the_winter_solstice" | "lesser_cold" | "greater_cold"; export { }