Files
cashier_app/uni_modules/kux-dayjs/utssdk/interface.uts
2025-12-03 10:13:55 +08:00

1082 lines
35 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { InfoType } from '../common/calendar';
import { DateType } from '../common/date';
export type LunarType = {
month : string;
date : string;
};
export type DatetimeUnit =
| 'day'
| 'd'
| 'month'
| 'M'
| 'year'
| 'y'
| 'hour'
| 'h'
| 'minute'
| 'm'
| 'second'
| 's'
| 'millisecond'
| 'ms'
export type WeekUnit =
| 'week'
| 'w'
export type DiffUnit =
| 'week'
| 'w'
| 'day'
| 'd'
| 'month'
| 'M'
| 'year'
| 'y'
| 'hour'
| 'h'
| 'minute'
| 'm'
| 'second'
| 's'
| 'millisecond'
| 'ms'
;
export type DateFormat = {
year : number;
month : number;
date : number;
render : any;
lunar : LunarType;
fullLunar : InfoType;
diffDays : number;
isToday : boolean;
fullDate : string;
};
export type RelativeTime = {
s ?: string;
m ?: string;
mm ?: string;
h ?: string;
hh ?: string;
d ?: string;
dd ?: string;
mon ?: string;
mons ?: string;
y ?: string;
yy ?: string;
};
export type FromToOptions = {
isSuffix ?: boolean;
relativeTime ?: RelativeTime;
};
export type DatetimeOptions = {
years : number;
months : number;
date : number;
hours : number;
minutes : number;
seconds : number;
milliseconds : number;
};
export type DateDiff = {
date1 : Date,
date2 : Date
};
export type IsBetweenContains =
| '['
| ']'
| '[]'
| ''
/**
* KuxDayjs实例
*/
export interface IKuxDayjs {
d: Date
dd: DateType
/**
* 构造函数
* @param {string} date 日期时间戳字符串,如果是想初始化时间戳可以直接把时间戳通过字符串形式传入。时间戳为毫秒形式
* @param {boolean} isTimestamp 是否时间戳格式
* @param {boolean} isCST 是否是中国标准时间既UTC时间+8小时`isTimestamp` 为 `true` 时生效,默认为 `true`
*/
// constructor(date ?: string, isTimestamp ?: boolean, isCST ?: boolean)
/**
* 当前时间对象
* @description 返回一个基于指定日期和时间的 KuxDayjs 对象
* @param {string} date 日期时间字符串,比如:'2023-12-12 19:35:35'
* @returns KuxDayjs
*/
dayjs(date : string) : IKuxDayjs;
/**
* 基于当前时间复制一个 KuxDayjs 对象
* @returns KuxDayjs
* @example
* const a = dayjs();
* const b = a.clone();
* // a 和 b 是两个独立的 KuxDayjs 对象
*/
clone() : IKuxDayjs;
/**
* 日期格式化
* @description 根据传入的占位符返回格式化后的日期
* @param format 格式,如 'YYYY-MM-DD HH:mm:ss'
* @returns string
*/
format(format : string) : string;
/**
* 差异
* @description 返回指定单位下两个日期时间之间的差异
* @param {string} date 比较的日期
* @returns number
*/
diff (date: string) : number
/**
* 差异
* @description 返回指定单位下两个日期时间之间的差异
* @param { IKuxDayjs } date 比较的日期对象
* @returns number
*/
diff (date: IKuxDayjs): number
/**
* 差异
* @description 返回指定单位下两个日期时间之间的差异
* @param { IKuxDayjs } date 比较的日期对象
* @param {DiffUnit} unit 单位,默认为 `day`
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @returns number
*/
diff (date: IKuxDayjs, unit: DiffUnit | null): number
/**
* 差异
* @description 返回指定单位下两个日期时间之间的差异
* @param {string} date 比较的日期
* @param {DiffUnit} unit 单位,默认为 `day`
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @returns number
*/
diff (date: string, unit: DiffUnit | null): number
/**
* 差异
* @description 返回指定单位下两个日期时间之间的差异
* @param { IKuxDayjs } date 比较的日期对象
* @param {DiffUnit} unit 单位,默认为 `day`
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @param {boolean} strict 严格模式,设置为 `true` 时,会保持浮点数格式
* @returns number
*/
diff (date: IKuxDayjs, unit: DiffUnit | null, strict: boolean | null): number
/**
* 差异
* @description 返回指定单位下两个日期时间之间的差异
* @param {string} date 比较的日期
* @param {DiffUnit} unit 单位,默认为 `day`
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @param {boolean} strict 严格模式,设置为 `true` 时,会保持浮点数格式
* @returns number
*/
diff(date : string, unit : DiffUnit | null, strict : boolean | null) : number;
diff(date: any, unit: DiffUnit | null, strict: boolean | null): number
/**
* 日历时间
* @description 获取指定年月的日历面板数据
* @returns {DateFormat} DateFormat[]
*/
calendar () : DateFormat[]
/**
* 日历时间
* @description 获取指定年月的日历面板数据
* @param {number} year 年
* @returns {DateFormat} DateFormat[]
*/
calendar (year: number | null): DateFormat[];
/**
* 日历时间
* @description 获取指定年月的日历面板数据
* @param {number} year 年
* @param {number} month 月
* @returns {DateFormat} DateFormat[]
*/
calendar(year : number | null, month : number | null) : DateFormat[];
/**
* 获取/设置毫秒数
* @description 获取或设置毫秒
* @returns 返回0-999的毫秒数
*/
millisecond() : number
/**
* 获取/设置毫秒数
* @description 获取或设置毫秒
* @param {number} ms 0-999的毫秒数如果大于-1就是设置操作否则为获取操作
* @returns 返回0-999的毫秒数
*/
millisecond(ms : number | null) : number;
/**
* 获取/设置秒数
* @description 获取或设置秒
* @returns {number} 返回0-59的秒数
*/
second () : number
/**
* 获取/设置秒数
* @description 获取或设置秒
* @param {number} s 0-59的秒数如果大于-1就是设置操作否则为获取操作
* @returns {number} 返回0-59的秒数
*/
second(s : number | null) : number;
/**
* 获取/设置分钟
* @description 获取或设置分钟
* @returns {number} 返回0-59的分钟数
*/
minute() : number
/**
* 获取/设置分钟
* @description 获取或设置分钟
* @param {number} M 0-59的分钟数如果大于-1就是设置操作否则为获取操作
* @returns {number} 返回0-59的分钟数
*/
minute(M : number | null) : number;
/**
* 获取/设置小时
* @description 获取或设置小时
* @returns {number} 返回0-23的小时数
*/
hour() : number
/**
* 获取/设置小时
* @description 获取或设置小时
* @param {number} h 0-23的小时数如果大于-1就是设置操作否则为获取操作
* @returns {number} 返回0-23的小时数
*/
hour(h : number | null) : number;
/**
* 获取/设置日期
* @description 获取或设置日期
* @returns {number} 返回1-31的日期数
*/
date(): number
/**
* 获取/设置日期
* @description 获取或设置日期
* @param {number} d 日期数,传入参数就是设置操作,否则为获取操作。如果为 d 指定 0那么日期就会被设置为上个月的最后一天。如果 d 被设置为负数,日期会设置为上个月最后一天往前数这个负数绝对值天数后的日期。-1 会设置为上月最后一天的前一天(译者注:例如当前为 4 月,如果 date(-2),则为 3 月 29 日)
* @returns {number} 返回1-31的日期数
*/
date(d : number | null) : number;
/**
* 获取星期几0 表示星期天。目前仅支持获取,不支持设置操作
* @description 获取或设置星期
* @returns {number} 返回0-6的整数0代表星期日1代表星期一以此类推。
*/
day() : number;
/**
* 获取/设置时间
* @description 获取或设置毫秒
* @param {number} t 一个整数,表示从 1970-1-1 00:00:00 UTC 开始计时的毫秒数。 传入参数就是设置操作,否则为获取操作。
* @returns {number} 返回UTC 1970 年 1 月 1 日 00:00:00 与更新日期之间的毫秒数(实际上是自变量的值)。
*/
time(t : number) : number;
/**
* 获取/设置月份
* @description 获取或设置月份
* @returns {number} n
* + 获取操作返回0-11的整数表示一月到十二月
* + 设置操作返回基于 1 January 1970 00:00:00 UTC 开始计算的毫秒数。
*/
month () : number
/**
* 获取/设置月份
* @description 获取或设置月份
* @param {number} m 0-11的整数如果m大于0则为设置操作否则为获取操作
* @returns {number} n
* + 获取操作返回0-11的整数表示一月到十二月
* + 设置操作返回基于 1 January 1970 00:00:00 UTC 开始计算的毫秒数。
*/
month(m : number | null) : number;
/**
* 获取/设置年
* @description 获取或设置年份
* @returns {number} 返回操作后的年份数
*/
year(): number
/**
* 获取/设置年
* @description 获取或设置年份
* @param {number} y 大于1969的整数如果大于1969则为设置操作否则为获取操作
* @returns {number} 返回操作后的年份数
*/
year(y : number | null) : number;
/**
* 增加
* @description 返回增加一定时间的复制的 KuxDayjs 对象
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @returns {Date} d 操作后的Date对象
*/
add() : IKuxDayjs
/**
* 增加
* @description 返回增加一定时间的复制的 KuxDayjs 对象
* @param {string} count 需要增加的整数,支持配合单位操作
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @returns {Date} d 操作后的Date对象
*/
add(count: number | null): IKuxDayjs
/**
* 增加
* @description 返回增加一定时间的复制的 KuxDayjs 对象
* @param {string} count 需要增加的整数,支持配合单位操作
* @param {DiffUnit} unit 单位,默认为 `day`
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @returns {Date} d 操作后的Date对象
*/
add(count : number | null, unit : DiffUnit | null) : IKuxDayjs;
/**
* 减去
* @description 返回减去一定时间的复制的 KuxDayjs 对象
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @returns {Date} d 操作后的Date对象
*/
subtract() : IKuxDayjs
/**
* 减去
* @description 返回减去一定时间的复制的 KuxDayjs 对象
* @param {string} count 需要减去的整数,支持配合单位操作
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @returns {Date} d 操作后的Date对象
*/
subtract(count: number | null): IKuxDayjs
/**
* 减去
* @description 返回减去一定时间的复制的 KuxDayjs 对象
* @param {string} count 需要减去的整数,支持配合单位操作
* @param {DiffUnit} unit 单位,默认为 `day`
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* + millisecond 毫秒,缩写 `ms`
* @returns {Date} d 操作后的Date对象
*/
subtract(count : number | null, unit : DiffUnit | null) : IKuxDayjs;
/**
* 设置时间为今天
*/
today() : IKuxDayjs;
/**
* 时间的开始
* @description 返回复制的 KuxDayjs 对象,并设置到一个时间的开始。
* @param {DiffUnit} unit 单位
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* @returns {Date} d 操作后的Date对象
*/
startOf(unit : DiffUnit) : IKuxDayjs;
/**
* 时间的结束
* @description 返回复制的 KuxDayjs 对象,并设置到一个时间的末尾。
* @param {DiffUnit} unit 单位
* + week 周,缩写 `w`
* + day 天,缩写 `d`
* + month 月份,缩写 `M`
* + year 年,缩写 `y`
* + hour 小时,缩写 `h`
* + minute 分钟,缩写 `m`
* + second 秒,缩写 `s`
* @returns {Date} d 操作后的Date对象
*/
endOf(unit : DiffUnit) : IKuxDayjs;
/**
* 相对当前时间(前)
* @description 返回现在到当前实例的相对时间
*
* @returns string
*
* @example
* ### 基本示例
* const datetime = dayjs('2021-12-12 15:43:58');
* console.log(datetime.fromNow()); // 输出 1年前
*
* ### 自定义格式示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const options: FromNowOptions = {
* isSuffix: false,
* relativeTime: {
* y: '%s year ago'
* } as RelativeTime
* };
* console.log(datetime.fromNow(options)); // 输出 1 year ago
*/
fromNow(): string
/**
* 相对当前时间(前)
* @description 返回现在到当前实例的相对时间
* @param {FromNowOptions} options 配置项
* + isSuffix - boolean类型是否自动携带后缀为true的时候会自动添加“前”后缀如 1年前手动指定 `relativeTime` 时该项不生效
* + relativeTime - RelativeTime类型自定义格式支持变量见下方说明
* | 范围 | 键量 | 使用变量 | 说明 | 示例 |
* | --- | --- | --- | --- | --- |
* | 0 to 44seconds | s | %s | 几秒前 | %s seconds ago |
* | 45 to 89 seconds | m | %m | 1分钟前 | %m minute ago |
* | 90 seconds to 44 minutes | mm | %mm | 几分钟前 | %mm minutes ago |
* | 45 to 89 minutes | h | %h | 1小时前 | %h hour ago |
* | 90 minutes to 21 hours | hh | %hh | 几小时前 | %hh hours ago |
* | 22 to 35 hours | d | d | %d | 1天前 | %d day ago |
* | 36 hours to 25 days | dd | %dd | 几天前 | %dd days ago |
* | 26 to 45 days | mon | %mon | 1个月前 | %mon month ago |
* | 46 days to 10 months | mons | %mons | 几个月前 | %mons months ago |
* | 11 months to 17 months | y | %y | 1年前 | %y year ago |
* | 18 months + | yy | %yy | 几年前 | %yy years ago |
*
* @returns string
*
* @example
* ### 基本示例
* const datetime = dayjs('2021-12-12 15:43:58');
* console.log(datetime.fromNow()); // 输出 1年前
*
* ### 自定义格式示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const options: FromNowOptions = {
* isSuffix: false,
* relativeTime: {
* y: '%s year ago'
* } as RelativeTime
* };
* console.log(datetime.fromNow(options)); // 输出 1 year ago
*/
fromNow(options : FromToOptions | null) : string;
/**
* 相对指定时间(前)
* @description 返回 X 到当前实例的相对时间
* @returns string
*
* @example
* ### 基本示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const a = dayjs('2022-12-12');
* console.log(datetime.from(a)); // 输出 1年前
*
* ### 自定义格式示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const a = dayjs('2022-12-12');
* const options: FromNowOptions = {
* isSuffix: false,
* relativeTime: {
* y: '%s year ago'
* } as RelativeTime
* };
* console.log(datetime.from(a, options)); // 输出 1 year ago
*/
from(dayjs: IKuxDayjs): string
/**
* 相对指定时间(前)
* @description 返回 X 到当前实例的相对时间
* @param {FromNowOptions} options 配置项
* + isSuffix - boolean类型是否自动携带后缀为true的时候会自动添加“前”后缀如 1年前手动指定 `relativeTime` 时该项不生效
* + relativeTime - RelativeTime类型自定义格式支持变量见下方说明
* | 范围 | 键量 | 使用变量 | 说明 | 示例 |
* | --- | --- | --- | --- | --- |
* | 0 to 44seconds | s | %s | 几秒前 | %s seconds ago |
* | 45 to 89 seconds | m | %m | 1分钟前 | %m minute ago |
* | 90 seconds to 44 minutes | mm | %mm | 几分钟前 | %mm minutes ago |
* | 45 to 89 minutes | h | %h | 1小时前 | %h hour ago |
* | 90 minutes to 21 hours | hh | %hh | 几小时前 | %hh hours ago |
* | 22 to 35 hours | d | d | %d | 1天前 | %d day ago |
* | 36 hours to 25 days | dd | %dd | 几天前 | %dd days ago |
* | 26 to 45 days | mon | %mon | 1个月前 | %mon month ago |
* | 46 days to 10 months | mons | %mons | 几个月前 | %mons months ago |
* | 11 months to 17 months | y | %y | 1年前 | %y year ago |
* | 18 months + | yy | %yy | 几年前 | %yy years ago |
*
* @returns string
*
* @example
* ### 基本示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const a = dayjs('2022-12-12');
* console.log(datetime.from(a)); // 输出 1年前
*
* ### 自定义格式示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const a = dayjs('2022-12-12');
* const options: FromNowOptions = {
* isSuffix: false,
* relativeTime: {
* y: '%s year ago'
* } as RelativeTime
* };
* console.log(datetime.from(a, options)); // 输出 1 year ago
*/
from(dayjs : IKuxDayjs, options : FromToOptions | null) : string;
/**
* 相对当前时间(后)
* @description 返回当前实例到现在的相对时间
*
* @returns string
*
* @example
* ### 基本示例
* const datetime = dayjs('2021-12-12 15:43:58');
* console.log(datetime.toNow()); // 输出 1年后
*
* ### 自定义格式示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const options: FromToOptions = {
* isSuffix: false,
* relativeTime: {
* y: '%s year after'
* } as RelativeTime
* };
* console.log(datetime.toNow(options)); // 输出 1 year after
*/
toNow(): string
/**
* 相对当前时间(后)
* @description 返回当前实例到现在的相对时间
* @param {FromNowOptions} options 配置项
* + isSuffix - boolean类型是否自动携带后缀为true的时候会自动添加“后”后缀如 1年后手动指定 `relativeTime` 时该项不生效
* + relativeTime - RelativeTime类型自定义格式支持变量见下方说明
* | 范围 | 键量 | 使用变量 | 说明 | 示例 |
* | --- | --- | --- | --- | --- |
* | 0 to 44seconds | s | %s | 几秒后 | %s seconds after |
* | 45 to 89 seconds | m | %m | 1分钟后 | %m minute after |
* | 90 seconds to 44 minutes | mm | %mm | 几分钟后 | %mm minutes after |
* | 45 to 89 minutes | h | %h | 1小时后 | %h hour after |
* | 90 minutes to 21 hours | hh | %hh | 几小时后 | %hh hours after |
* | 22 to 35 hours | d | d | %d | 1天后 | %d day after |
* | 36 hours to 25 days | dd | %dd | 几天后 | %dd days after |
* | 26 to 45 days | mon | %mon | 1个月后 | %mon month after |
* | 46 days to 10 months | mons | %mons | 几个月后 | %mons months after |
* | 11 months to 17 months | y | %y | 1年后 | %y year after |
* | 18 months + | yy | %yy | 几年后 | %yy years after |
*
* @returns string
*
* @example
* ### 基本示例
* const datetime = dayjs('2021-12-12 15:43:58');
* console.log(datetime.toNow()); // 输出 1年后
*
* ### 自定义格式示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const options: FromToOptions = {
* isSuffix: false,
* relativeTime: {
* y: '%s year after'
* } as RelativeTime
* };
* console.log(datetime.toNow(options)); // 输出 1 year after
*/
toNow(options : FromToOptions | null) : string;
/**
* 相对指定时间(后)
* @description 返回当前实例到 X 的相对时间
*
* @returns string
*
* @example
* ### 基本示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const a = dayjs('2022-12-12');
* console.log(datetime.to(a)); // 输出 1年后
*
* ### 自定义格式示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const a = dayjs('2022-12-12');
* const options: FromToOptions = {
* isSuffix: false,
* relativeTime: {
* y: '%s year after'
* } as RelativeTime
* };
* console.log(datetime.to(a, options)); // 输出 1 year after
*/
to(date: IKuxDayjs): string
/**
* 相对指定时间(后)
* @description 返回当前实例到 X 的相对时间
* @param {FromNowOptions} options 配置项
* + isSuffix - boolean类型是否自动携带后缀为true的时候会自动添加“前”后缀如 1年后手动指定 `relativeTime` 时该项不生效
* + relativeTime - RelativeTime类型自定义格式支持变量见下方说明
* | 范围 | 键量 | 使用变量 | 说明 | 示例 |
* | --- | --- | --- | --- | --- |
* | 0 to 44seconds | s | %s | 几秒后 | %s seconds after |
* | 45 to 89 seconds | m | %m | 1分钟后 | %m minute after |
* | 90 seconds to 44 minutes | mm | %mm | 几分钟后 | %mm minutes after |
* | 45 to 89 minutes | h | %h | 1小时后 | %h hour after |
* | 90 minutes to 21 hours | hh | %hh | 几小时后 | %hh hours after |
* | 22 to 35 hours | d | d | %d | 1天后 | %d day after |
* | 36 hours to 25 days | dd | %dd | 几天后 | %dd days after |
* | 26 to 45 days | mon | %mon | 1个月后 | %mon month after |
* | 46 days to 10 months | mons | %mons | 几个月后 | %mons months after |
* | 11 months to 17 months | y | %y | 1年后 | %y year after |
* | 18 months + | yy | %yy | 几年后 | %yy years after |
*
* @returns string
*
* @example
* ### 基本示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const a = dayjs('2022-12-12');
* console.log(datetime.to(a)); // 输出 1年后
*
* ### 自定义格式示例
* const datetime = dayjs('2021-12-12 15:43:58');
* const a = dayjs('2022-12-12');
* const options: FromToOptions = {
* isSuffix: false,
* relativeTime: {
* y: '%s year after'
* } as RelativeTime
* };
* console.log(datetime.to(a, options)); // 输出 1 year after
*/
to(date : IKuxDayjs, options : FromToOptions | null) : string;
/**
* Unix时间戳毫秒
* @description 返回当前实例的 UNIX 时间戳13位数字毫秒
* @returns number
*/
valueOf() : number;
/**
* Unix时间戳
* @description 返回当前实例的 UNIX 时间戳10位数字秒。
* @returns number
*/
unix() : number;
/**
* 是否闰年
* @description 查询 KuxDayjs 对象的年份是否是闰年
* @returns {boolean} boolean
* @example
* const date = dayjs('2000-01-01');
* console.log(date.isLeapYear()); // 输出 true
*/
isLeapYear() : boolean;
/**
* 获取月天数
* @description 获取当前月份包含的天数
* @returns number
* @example
* const date = dayjs('2023-12-12');
* console.log(date.daysInMonth()); // 输出 31
*/
daysInMonth() : number;
/**
* 转Date
* @description 从KuxDayjs中获取原生的Date对象
* @returns Date
*/
toDate() : Date;
/**
* 转数组
* @description 返回一个包含各个时间信息的 Array
* @returns number[]
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.toArray()); // 输出 [2023,12,13,10,16,18,0]
*/
toArray() : number[];
/**
* 转JSON
* @description 序列化为 ISO 8601 格式的字符串
* @returns string
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.toJSON()); // 输出 2023-12-13T10:16:18.000Z
*/
toJSON() : string;
/**
* 转对象
* @description 返回包含时间信息的 Object
* @returns DatetimeOptions
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.toObject()); // 输出 {"date":13,"hours":10,"milliseconds":0,"minutes":16,"months":12,"seconds":18,"years":2023}
*/
toObject() : DatetimeOptions;
/**
* 转字符串
* @description 返回包含时间信息的"RFC 822" 或 "RFC 5322" 格式字符串
* @returns string
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.toRFCString()); // 输出 Wed, 13 Dec 2023 10:16:18 GMT
*/
toRFCString() : string;
/**
* 是否之前
* @description 表示 KuxDayjs 对象是否在另一个提供的日期时间之前
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isBefore('2024-12-12')); // 输出 true
* console.log(datetime.isBefore('2024-12-12', 'year')); // 输出 true
*/
isBefore(datetime: string): boolean
/**
* 是否之前
* @description 表示 KuxDayjs 对象是否在另一个提供的日期时间之前
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {DiffUnit} unit 比较单位默认为ms
* + year - 年,缩写为 `y`
* + month - 月,缩写为 `M`
* + day - 日,缩写为 `d`
* + hour - 小时,缩写为 `h`
* + minute - 分钟,缩写为 `m`
* + second - 秒,缩写为 `s`
* + millisecond - 毫秒,缩写为 `ms`
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isBefore('2024-12-12')); // 输出 true
* console.log(datetime.isBefore('2024-12-12', 'year')); // 输出 true
*/
isBefore(datetime : string, unit : DiffUnit | null) : boolean;
/**
* 是否相同
* @description 表示 KuxDayjs 对象是否和另一个提供的日期时间相同
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isSame('2023-12-12')); // 输出 false
* console.log(datetime.isSame('2023-12-12', 'year')); // 输出 true
*/
isSame(datetime: string): boolean
/**
* 是否相同
* @description 表示 KuxDayjs 对象是否和另一个提供的日期时间相同
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {DatetimeUnit} unit 比较单位默认为ms
* + year - 年,缩写为 `y`
* + month - 月,缩写为 `M`
* + day - 日,缩写为 `d`
* + hour - 小时,缩写为 `h`
* + minute - 分钟,缩写为 `m`
* + second - 秒,缩写为 `s`
* + millisecond - 毫秒,缩写为 `ms`
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isSame('2023-12-12')); // 输出 false
* console.log(datetime.isSame('2023-12-12', 'year')); // 输出 true
*/
isSame(datetime : string, unit : DatetimeUnit | null) : boolean;
/**
* 是否之后
* @description 表示 KuxDayjs 对象是否在另一个提供的日期时间之后
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isAfter('2023-12-12')); // 输出 true
* console.log(datetime.isAfter('2023-12-12', 'year')); // 输出 true
*/
isAfter(datetime: string): boolean
/**
* 是否之后
* @description 表示 KuxDayjs 对象是否在另一个提供的日期时间之后
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {DatetimeUnit} unit 比较单位默认为ms
* + year - 年,缩写为 `y`
* + month - 月,缩写为 `M`
* + day - 日,缩写为 `d`
* + hour - 小时,缩写为 `h`
* + minute - 分钟,缩写为 `m`
* + second - 秒,缩写为 `s`
* + millisecond - 毫秒,缩写为 `ms`
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isAfter('2023-12-12')); // 输出 true
* console.log(datetime.isAfter('2023-12-12', 'year')); // 输出 true
*/
isAfter(datetime : string, unit : DatetimeUnit | null) : boolean;
/**
* 是否相同或之前
* @description 表示 KuxDayjs 对象是和另一个提供的日期时间相同或在其之前
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isSameOrBefore('2023-12-12')); // 输出 false
* console.log(datetime.isSameOrBefore('2023-12-12', 'year')); // 输出 true
*/
isSameOrBefore(datetime: string): boolean
/**
* 是否相同或之前
* @description 表示 KuxDayjs 对象是和另一个提供的日期时间相同或在其之前
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {DatetimeUnit} unit 比较单位默认为ms
* + year - 年,缩写为 `y`
* + month - 月,缩写为 `M`
* + day - 日,缩写为 `d`
* + hour - 小时,缩写为 `h`
* + minute - 分钟,缩写为 `m`
* + second - 秒,缩写为 `s`
* + millisecond - 毫秒,缩写为 `ms`
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isSameOrBefore('2023-12-12')); // 输出 false
* console.log(datetime.isSameOrBefore('2023-12-12', 'year')); // 输出 true
*/
isSameOrBefore(datetime : string, unit : DatetimeUnit | null) : boolean;
/**
* 是否相同或之后
* @description 表示 KuxDayjs 对象是否和另一个提供的日期时间相同或在其之后
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isSameOrAfter('2023-12-12')); // 输出 true
* console.log(datetime.isSameOrAfter('2023-12-12', 'year')); // 输出 true
*/
isSameOrAfter(datetime: string): boolean
/**
* 是否相同或之后
* @description 表示 KuxDayjs 对象是否和另一个提供的日期时间相同或在其之后
* @param {string} datetime 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {DatetimeUnit} unit 比较单位默认为ms
* + year - 年,缩写为 `y`
* + month - 月,缩写为 `M`
* + day - 日,缩写为 `d`
* + hour - 小时,缩写为 `h`
* + minute - 分钟,缩写为 `m`
* + second - 秒,缩写为 `s`
* + millisecond - 毫秒,缩写为 `ms`
* @returns {boolean} boolean
* @example
* const datetime = dayjs('2023-12-13 10:16:18');
* console.log(datetime.isSameOrAfter('2023-12-12')); // 输出 true
* console.log(datetime.isSameOrAfter('2023-12-12', 'year')); // 输出 true
*/
isSameOrAfter(datetime : string, unit : DatetimeUnit | null) : boolean;
/**
* 是否两者之间
* @description 表示 KuxDayjs 对象是否在其他两个的日期时间之间
* @param {string} datetime1 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {string} datetime2 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @returns {boolean} boolean
* @example
* const date = dayjs('2023-12-13');
* console.log(date.isBetween('2023-12-13', '2023-12-14', 'day')); // 输出 false
* console.log(date.isBetween('2023-12-13', '2023-12-14', 'day', '[')); // 输出 true
*/
isBetween(datetime1: string, datetime2: string): boolean
/**
* 是否两者之间
* @description 表示 KuxDayjs 对象是否在其他两个的日期时间之间
* @param {string} datetime1 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {string} datetime2 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {DatetimeUnit} unit 比较单位,默认为 `ms`
* + year - 年,缩写为 `y`
* + month - 月,缩写为 `M`
* + day - 日,缩写为 `d`
* + hour - 小时,缩写为 `h`
* + minute - 分钟,缩写为 `m`
* + second - 秒,缩写为 `s`
* + millisecond - 毫秒,缩写为 `ms`
* @returns {boolean} boolean
* @example
* const date = dayjs('2023-12-13');
* console.log(date.isBetween('2023-12-13', '2023-12-14', 'day')); // 输出 false
* console.log(date.isBetween('2023-12-13', '2023-12-14', 'day', '[')); // 输出 true
*/
isBetween(datetime1: string, datetime2: string, unit: DatetimeUnit | null): boolean
/**
* 是否两者之间
* @description 表示 KuxDayjs 对象是否在其他两个的日期时间之间
* @param {string} datetime1 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {string} datetime2 日期时间字符串,仅支持 'YYYY-MM-DD HH:mm:ss.S'格式
* @param {DatetimeUnit} unit 比较单位,默认为 `ms`
* + year - 年,缩写为 `y`
* + month - 月,缩写为 `M`
* + day - 日,缩写为 `d`
* + hour - 小时,缩写为 `h`
* + minute - 分钟,缩写为 `m`
* + second - 秒,缩写为 `s`
* + millisecond - 毫秒,缩写为 `ms`
* @param {IsBetweenContains} contains 包含关系,见下方说明
* + `[` - 向前包含,等同于 `<=`
* + `]` - 向后包含,等同于 `>=`
* + `[]` - 前后都包含
* @returns {boolean} boolean
* @example
* const date = dayjs('2023-12-13');
* console.log(date.isBetween('2023-12-13', '2023-12-14', 'day')); // 输出 false
* console.log(date.isBetween('2023-12-13', '2023-12-14', 'day', '[')); // 输出 true
*/
isBetween(datetime1 : string, datetime2 : string, unit : DatetimeUnit | null, contains : IsBetweenContains | null) : boolean;
/**
* 是否是Dayjs
* @description 这表示一个变量是否为 KuxDayjs 对象
* @param {any} dayjs 判断的对象
* @returns {boolean} boolean
* @example
* const now = dayjs();
* console.log(now.isDayjs(dayjs())); // 输出 true
* console.log(now.isDayjs(new Date())); // 输出 false
*/
isDayjs(dayjs : any) : boolean;
}
/**
* 创建的KuxDayjs实例
* @param {string} date 日期时间戳字符串,如果是想初始化时间戳可以直接把时间戳通过字符串形式传入。时间戳为毫秒形式
* @param {boolean} isTimestamp 是否是时间戳格式
* @param {boolean} isCST 是否是中国标准时间既UTC时间+8小时`isTimestamp` 为 `true` 时生效,默认为 `true`
* @returns KuxDayjs实例
*/
export declare function dayjs(date ?: string, isTimestamp ?: boolean, isCST ?: boolean) : IKuxDayjs;