// @ts-nocheck export type DayutsConfig = { date: any|null format : string|null locale : string|null } export type DayutsUnit = 'year' | 'month' | 'day' | 'week' | 'date' | 'hour' | 'minute' | 'second' | 'millisecond' | 'quarter' export type DayutsFormats = { /** * 小时和分钟的格式化字符串。 */ LT : string; /** * 小时、分钟和秒的格式化字符串。 */ LTS : string; /** * 年份、月份和日期的格式化字符串。 */ L : string; /** * 年份、月份、日期和星期的格式化字符串。 */ LL : string; /** * 年份、月份、日期、星期和小时的格式化字符串。 */ LLL : string; /** * 年份、月份、日期、星期、小时和分钟的格式化字符串。 */ LLLL : string; /** * 缩小的年份、月份和日期的格式化字符串。 */ l : string; /** * 缩小的年份、月份、日期和星期的格式化字符串。 */ ll : string; /** * 缩小的年份、月份、日期、星期和小时的格式化字符串。 */ lll : string; /** * 缩小的年份、月份、日期、星期、小时和分钟的格式化字符串。 */ llll : string; } export type DayutsRelativeTime = { /** * 时间单位之后的格式化字符串。 */ future : string; /** * 时间单位之前的格式化字符串。 */ past : string; /** * 秒的格式化字符串。 */ s : string; /** * 分钟的格式化字符串。 */ m : string; /** * 分钟(带前缀)的格式化字符串。 */ mm : string; /** * 小时的格式化字符串。 */ h : string; /** * 小时(带前缀)的格式化字符串。 */ hh : string; /** * 天的格式化字符串。 */ d : string; /** * 天(带前缀)的格式化字符串。 */ dd : string; /** * 月的格式化字符串。 */ M : string; /** * 月(带前缀)的格式化字符串。 */ MM : string; /** * 年的格式化字符串。 */ y : string; /** * 年(带前缀)的格式化字符串。 */ yy : string; } /** * 本地化对象接口。 */ export type DayutsLocale = { /** * 区域设置名称。 */ name : string; /** * 一周中每天的完整名称。 */ weekdays : string[]; /** * 一周中每天的缩写名称。 */ weekdaysShort ?: string[]; /** * 一周中每天的最小缩写名称。 */ weekdaysMin ?: string[]; /** * 一年中的每个月份的名称。 */ months : string[]; /** * 一年中的每个月份的缩写名称。 */ monthsShort ?: string[]; /** * 返回序数词的函数。 * * @param number - 要格式化的数字。 * @param period - 周期类型(如 "W" 表示周)。 * @returns 返回格式化后的序数词字符串。 */ // ordinal : (number : number) => string; ordinal : (number : number, period : string) => string; /** * 一周的开始日期(星期几)。 */ weekStart ?: number; /** * 年的开始月份。 */ yearStart ?: number; /** * 日期和时间格式化选项。 */ formats ?: DayutsFormats; /** * 相对时间格式化选项。 */ relativeTime ?: DayutsRelativeTime; /** * 根据小时和分钟返回上午或下午的函数。 * * @param hour - 小时数(0-23)。 * @param minute - 分钟数(0-59)。 * @returns 返回上午或下午的字符串。 */ meridiem ?: (hour : number, minute : number, isLowercase : boolean) => string; } export type DayutsObject = { years : number; months : number; date : number; hours : number; minutes : number; seconds : number; milliseconds : number; } // 主 Dayuts 类类型定义 // export interface Dayuts { // // 公共属性 // $L: string; // // 私有属性 // $d: Date; // $y: number; // $M: number; // $D: number; // $W: number; // $H: number; // $m: number; // $s: number; // $ms: number; // $u: boolean; // // 构造函数 // // constructor(cfg: DayutsConfig); // // 解析配置并初始化日期 // // private parse(cfg: DayutsConfig): void; // // 初始化日期的各个部分 // // private init(): void; // // 检查日期是否有效 // isValid(): boolean; // // 判断当前日期是否与给定日期在指定时间单位内相同 // // isSame(input: string, units?: DayutsUnit): boolean; // // isSame(input: number, units?: DayutsUnit): boolean; // // isSame(input: Date, units?: DayutsUnit): boolean; // // isSame(input: Dayuts, units?: DayutsUnit): boolean; // // isSame(input: UTSJSONObject, units?: DayutsUnit): boolean; // // isSame(input : string) : boolean // // isSame(input : number) : boolean // // isSame(input : Date) : boolean // // isSame(input : Dayuts) : boolean // // isSame(input : UTSJSONObject) : boolean // // isSame(input : string, units : DayutsUnit) : boolean // // isSame(input : number, units : DayutsUnit) : boolean // // isSame(input : Date, units : DayutsUnit) : boolean // // isSame(input : Dayuts, units : DayutsUnit) : boolean // // isSame(input : UTSJSONObject, units : DayutsUnit) : boolean // // isSame(input : any, units : DayutsUnit) : boolean // // 判断给定日期是否在当前日期指定时间单位之后 // // isAfter(input: string, units?: DayutsUnit): boolean; // // isAfter(input: number, units?: DayutsUnit): boolean; // // isAfter(input: Date, units?: DayutsUnit): boolean; // // isAfter(input: Dayuts, units?: DayutsUnit): boolean; // // isAfter(input: UTSJSONObject, units?: DayutsUnit): boolean; // // isAfter(input : string) : boolean // // isAfter(input : number) : boolean // // isAfter(input : Date) : boolean // // isAfter(input : Dayuts) : boolean // // isAfter(input : UTSJSONObject) : boolean // // isAfter(input : string, units : DayutsUnit) : boolean // // isAfter(input : number, units : DayutsUnit) : boolean // // isAfter(input : Date, units : DayutsUnit) : boolean // // isAfter(input : Dayuts, units : DayutsUnit) : boolean // // isAfter(input : UTSJSONObject, units : DayutsUnit) : boolean // // isAfter(input : any, units : DayutsUnit) : boolean // // 判断给定日期是否在当前日期指定时间单位之前 // // isBefore(input: string, units?: DayutsUnit): boolean; // // isBefore(input: number, units?: DayutsUnit): boolean; // // isBefore(input: Date, units?: DayutsUnit): boolean; // // isBefore(input: Dayuts, units?: DayutsUnit): boolean; // // isBefore(input: UTSJSONObject, units?: DayutsUnit): boolean; // // 判断当前日期是否与给定日期在指定时间单位内相同或之前 // // isSameOrBefore(input: string, units?: DayutsUnit): boolean; // // isSameOrBefore(input: number, units?: DayutsUnit): boolean; // // isSameOrBefore(input: Date, units?: DayutsUnit): boolean; // // isSameOrBefore(input: Dayuts, units?: DayutsUnit): boolean; // // isSameOrBefore(input: UTSJSONObject, units?: DayutsUnit): boolean; // // 判断当前日期是否与给定日期在指定时间单位内相同或之后 // // isSameOrAfter(input: string, units?: DayutsUnit): boolean; // // isSameOrAfter(input: number, units?: DayutsUnit): boolean; // // isSameOrAfter(input: Date, units?: DayutsUnit): boolean; // // isSameOrAfter(input: Dayuts, units?: DayutsUnit): boolean; // // isSameOrAfter(input: UTSJSONObject, units?: DayutsUnit): boolean; // // 判断当前日期是否在两个给定日期之间 // // isBetween(input: any, input2: any): boolean; // // isBetween(input: any, input2: any, units?: DayutsUnit, interval?: string): boolean; // // 判断当前年份是否为闰年 // isLeapYear(): boolean; // // 判断当前日期是否为今天 // isToday(): boolean; // // 获取 Unix 时间戳(秒) // unix(): number; // // 设置为指定时间单位的开始或结束 // // startOf(units: DayutsUnit): Dayuts; // // startOf(units: DayutsUnit, startOf?: boolean): Dayuts; // endOf(units: DayutsUnit): Dayuts; // // 设置指定时间单位的值 // set(units: DayutsUnit, int: number): Dayuts; // // 获取指定时间单位的值 // get(units: DayutsUnit): number; // // 年、月、日、时、分、秒、毫秒的 getter 和 setter 方法 // year(): number; // year(input?: number): Dayuts; // month(): number // month(input?: number): Dayuts; // // day(): number; // day(input?: number): Dayuts; // date(): number; // date(input?: number): Dayuts; // // hour(): number; // hour(input?: number): Dayuts; // // minute(): number; // minute(input?: number): Dayuts; // // second(): number; // second(input?: number): Dayuts; // // millisecond(): number; // millisecond(input?: number): Dayuts; // // 添加时间 // add(number: number, units: DayutsUnit): Dayuts; // // 减去时间 // subtract(number: number, units: DayutsUnit): Dayuts; // // 格式化日期 // format(formatStr?: string): string; // // 获取 UTC 偏移量(分钟) // utcOffset(): number; // // 计算两个日期之间的差值 // diff(input: string, units?: DayutsUnit, float?: boolean): number; // diff(input: number, units?: DayutsUnit, float?: boolean): number; // diff(input: Date, units?: DayutsUnit, float?: boolean): number; // diff(input: Dayuts, units?: DayutsUnit, float?: boolean): number; // diff(input: UTSJSONObject, units?: DayutsUnit, float?: boolean): number; // // 转换为原生 Date 对象 // toDate(): Date; // // 转换为 ISO 8601 字符串 // toJSON(): string | null; // toISOString(): string; // // 转换为对象 // toObject(): DayutsObject; // // 转换为数组 // toArray(): number[]; // // 获取时间戳(毫秒) // valueOf(): number; // // 获取月份的天数 // daysInMonth(): number; // // 获取本地化对象 // // private $locale(): DayutsLocale; // // 设置或获取本地化配置 // locale(preset: string, object?: DayutsLocale): Dayuts; // locale(preset: DayutsLocale, object?: DayutsLocale): Dayuts; // // 克隆当前实例 // clone(): Dayuts; // // 转换为字符串 // // toString(): string; // // 获取或设置一年中的第几天 // dayOfYear(): number; // dayOfYear(input?: number): Dayuts; // // 相对时间方法 // fromToBase(input: any, withoutSuffix: boolean, instance: Dayuts, isFrom: boolean): string; // to(input: any, withoutSuffix?: boolean): string; // from(input: any, withoutSuffix?: boolean): string; // toNow(withoutSuffix?: boolean): string; // fromNow(withoutSuffix?: boolean): string; // }