UNPKG

@gez/date-time-kit

Version:

A JavaScript library for handling date and time operations efficiently.

144 lines (132 loc) 3.75 kB
export * as dateEnum from './src/enum'; export declare function open(kitOpiton: kitOption): Promise<kitResult>; export declare function getLimitKeyByTimetamp(startTimestamp: timeString, endTimestamp: timeString, timeZone?: number | undefined): kitDataLimit | null; export declare function getTimestampByLimitKey(limit: kitDataLimit, timeZone?: number | undefined): kitTimestampResult; export declare function getTimeStringByTimestamp(timestamp: number): timeString; export declare function getTimeStringByTimeZone(timeString: timeString, timeZone: number, currentTimeZone?: number): timeString; export default { open, getLimitKeyByTimetamp, getTimestampByLimitKey, getTimeStringByTimestamp, getTimeStringByTimeZone } export interface kitTimestampResult { startTime: timeString, endTime: timeString, startTimeStamp: number, endTimeStamp: number } export interface kitContent { startDate: kitDate, endDate: kitDate, startTime: kitTime, endTime: kitTime, startDateShow: kitDate, endDateShow: kitDate, moveDate: kitDate, maxDate: kitDate, minDate: kitDate, maxTime: kitTime, minTime: kitTime, lang: Lang, timeZone: number, enableZone: boolean, granularity: dateEnum.Granularity, } export interface kitDate { year: number, month: number, date: number } export interface kitTime { hour: number, minute: number, second: number, millisecond: number } export interface kitDataLimitContent { startDate: kitDate, startTime: kitTime, endDate: kitDate, endTime: kitTime } export interface kitComponentOption { ele: HTMLElement, component: kitComponent } export interface kitComponent { updateData(ele: HTMLElement, data: kitContent): void create(data: kitContent): HTMLElement } export type status = 'start' | 'end'; export type timeString = `${number}-${number}-${number}T${number}:${number}:${number}.${number}`; export type Lang = 'zhCN' | 'enUS'; export interface kitOption { root: HTMLElement, // default select startTime?: timeString, endTime?: timeString, // default limit maxTime?: timeString, minTime?: timeString, // default lang lang?: Lang, // default time zone timeZone?: number, granularity?: dateEnum.Granularity, enableZone?: boolean | undefined } export interface kitResult { startTime: timeString, endTime: timeString, // time stamp startTimeStamp: number, endTimeStamp: number, quick: kitDataLimit | null, timeZone: number } export type kitI18n = { [key in Lang]: { box: { confirm: string, cancel: string }, quick: { all: string, today: string, yesterday: string, week: string, lastWeek: string, last7Days: string, month: string, last30Days: string, last180Days: string, last6Month: string, year: string, timezone: string, recommend: string, timezoneList: string, }, date: { sun: string, mon: string, tue: string, wed: string, thu: string, fri: string, sat: string, }, time: { startTime: string, endTime: string, startMillisecond: string, endMillisecond: string, } } } export interface kitDateTime { date: kitDate, time: kitTime } export type kitDataLimit = 'all' | 'today' | 'yesterday' | 'week' | 'lastWeek' | 'last7Days' | 'month' | 'last30Days' | 'last180Days' | 'last6Month' | 'year';