Introduction
生成某个月详细信息的日期库。
Usage
主要暴露两个方法 generate
和 getLunarDate
/*
* generate 方法提供多种入参方式,具体格式如下。
* 返回值为一个包含日期详细信息的数组(DateBlock[]),星期日为每周第一天。
*/
Calendar#generate(): DateBlock[]
Calendar#generate(date: Date): DateBlock[]
Calendar#generate(year: number): DateBlock[]
Calendar#generate(year: number, month: number): DateBlock[]
Calendar#generate(year: number, month: number, day: number): DateBlock[]
/*
* getLunarDate 方法参数为一个日期对象。
* 返回值为一个包含农历年月日的数组,形式为:['农历年', '农历月', '农历日']
*/
Calendar#getLunarDate(date: Date): string[]
DateBlock interface 定义
interface DateBlock {
/*
* 枚举值。
* 'PRE_MONTH', 该日期为前一个月的日期
* 'MONTH', 该日期为当月的日期
* 'NEXT_MONTH', 该日期为后一个月的日期
*/
type: string;
isToday: boolean; // 该日期是否是今天
day: number; // 日,1 - 31
month: number; // 月,0 - 11
year: number; // 年,格式为 YYYY
date: Date; // 该日期
lunar: string[]; // 该日期对应的农历日期,[农历年, 农历月, 农历日]
weekday: number; // 该日期为星期几
week: number; // 该日期所在周是当月的第几周
weekLength: number; // 该日期所在月总共有多少周,仅对 type 为 'MONTH' 有效
formatted: string; // 该日期格式格式化为 YYYY-MM-DD 形式的日期
timestamp: number; // 通过 Date#getTime 获取到的毫秒数
}