/** * 日期属性 */ export declare enum DateField { YEAR = "year", MONTH = "month", DAY = "day", WEEK = "week", HOURS = "hours", MINUTES = "minutes", SECONDS = "seconds" } /** * 周数 */ export declare enum WeekDay { SUN = 0, MON = 1, TUE = 2, WED = 3, THUR = 4, FRI = 5, SAT = 6 } /** * 月份属性 */ export declare enum MonthField { January = 0, February = 1, March = 2, April = 3, May = 4, June = 5, July = 6, August = 7, September = 8, October = 9, November = 10, December = 11 } /** * DateTime数据对象 */ export type DateTimeObjectValues = { /** * 年 */ year: number; /** * 月下标 */ monthIndex: number; /** * 月 */ month: number; /** * 日 */ day: number; /** * 星期 */ week: number; /** * 小时 */ hours: number; /** * 分钟 */ minutes: number; /** * 秒 */ seconds: number; }; /** * 日期时间对象 */ declare class DateTime extends Date { firstWeek: number; static readonly DateField: typeof DateField; static readonly WeekDay: typeof WeekDay; static new(): DateTime; static new(value: number | string): DateTime; static new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): DateTime; static create(): DateTime; static create(value: number | string): DateTime; static create(year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): DateTime; /** * 日期年,月,日,周,时,分,秒对象数据 */ objectValues(): DateTimeObjectValues; /** * 转为年-月-日类型的日期 * @returns {DateTime} */ toDate(): DateTime; /** * 格式化日期,默认格式:yyyy-MM-dd HH:mm:ss * @param format 格式 */ format(format?: string): string; /** * 格式化当前日期为年-月-日 * @returns {string} */ formatDate(): string; /** * 格式化当前日期为年-月-日 时:分:秒 * @returns {string} */ formatDateTime(): string; /** * 获取当前日期当天开始时间 * @returns {DateTime} */ beginOfDay(): DateTime; /** * 获取当前日期当天结束时间 * @returns {DateTime} */ endOfDay(): DateTime; /** * 获取当前日期当周开始时间 * @returns {DateTime} */ beginOfWeek(): DateTime; /** * 获取当前日期当周结束时间 * @returns {DateTime} */ endOfWeek(): DateTime; /** * 获取当前日期当月第一天时间 * @returns {Date} */ beginOfMonth(): DateTime; /** * 获取当前日期当月最后一天时间 * @returns {Date} */ endOfMonth(): DateTime; /** * 获取当前时间当年开始时间 * @returns {DateTime} */ beginOfYear(): DateTime; /** * 获取当前日期当年结束时间 * @returns {DateTime} */ endOfYear(): DateTime; /** * 设置周开始周数 * @param type 周数,见:{@link WeekDay} */ setFirstWeek(type: WeekDay): void; /** * 日期偏移操作 * @param type 偏移类型,见:{@link DateField} * @param offset 偏移大小 * @returns {DateTime} */ offset(type: DateField, offset: number): DateTime; /** * 获取当月天数 */ daysOfMonth(): number; /** * 获取当年天数 */ daysOfYear(): number; /** * 是否闰年 */ isLeapYear(): boolean; /** * 获取当前日期与指定日期之间的差值,当前-参数 */ compare(date: Date | DateTime, dateField: DateField): number; /** * 获取当前日期年龄(周岁) */ age(): number; /** * 年月数 */ yearMonthNumber(): number; /** * 年月日数 */ yearMonthDayNumber(): number; } export default DateTime;