newmax-utils
Version:
Utils & Libs for Newmax Tech
183 lines (182 loc) • 11.8 kB
TypeScript
import moment from 'moment';
declare class MomentExtension {
private typesOfTime;
constructor();
/**
* Возвращает timestamp начала текущего дня
* @returns {number} timestamp начала текущего дня
*/
getTodayTimestamp(): number;
/**
* Возвращает timestamp начала вчерашнего дня
* @returns {number} timestamp начала вчерашнего дня
*/
getYesterdayTimestamp(): number;
/**
* Возвращает timestamp начала прошлой недели
* @returns {number} timestamp начала прошлой недели
*/
getLastWeekdayTimestamp(): number;
/**
* Возвращает timestamp начала прошлой недели
* @returns {number} timestamp начала прошлой недели
*/
getEndLastWeekdayTimestamp(): number;
/**
* Преобразует дату в формат "YYYY-MM-DD"
* @param {string} date - Дата в формате "DD.MM.YYYY" | "DD.MM.YYYYTHH:mm:ssZ"
* @returns {string} Дата в формате "YYYY-MM-DD"
*/
reverseToSplash(date: string): string;
/**
* Преобразует дату в формат "DD.MM.YYYY"
* @param {string} date - Дата в формате "YYYY-MM-DD" | "YYYY-MM-DDTHH:mm:ssZ"
* @returns {string} Дата в формате "DD.MM.YYYY"
*/
reverseToDotted(date: string): string;
/**
* Получаем точный timestamp даты
* (используем только, когда нужен timestamp с секундами) иначе используем метод startDate
* @param {!string} date - Дата в формате передаваемой маски.
* @param {string} [mask=undefined] - Формат маски на входе. Например: "2024-01-01T21:12:18Z". (optional)
* @param {string} [format=x] - Формат маски на выходе. Default: "x". (optional)
* @returns {string} Дата в формате "x"
* @example
* convertDateToTimestamp("2024-01-01") // 1704056400000
* convertDateToTimestamp("2024-01-01T12:00:00", "YYYY-MM-DDTHH:mm:ss", "x") // 1704099600000
*/
convertDateToTimestamp(date: string, mask?: string | undefined, format?: string): string;
/**
* Преобразует timestamp в нужный формат даты. Default: 'YYYY-MM-DD'
* @param {!string|number} date - Timestamp даты.
* @param {string} [mask=x] - Формат маски на входе. Например: "x" | "X". (optional)
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD". (optional)
* @returns {string} Дата в формате "YYYY-MM-DD"
*/
convertTimestampToDate(date: string | number, mask?: string, format?: string): string;
/**
* Преобразует текущую дату в нужный формат. Default: 'YYYY-MM-DD'
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Defaults: "YYYY-MM-DD". (optional)
* @returns {string} Дата в формате "YYYY-MM-DD"
*/
formatCurrentDate(format?: string): string;
/**
* Преобразует входящую дату в нужный формат. Default: 'YYYY-MM-DD'
* @param {!string|number} date - Дата в формате передаваемой маски.
* @param {!string} mask - Формат маски на входе. (required)
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Defaults: "YYYY-MM-DD". (optional)
* @returns {string} The formatted date.
*/
formatDateTo(date: string | number, mask: string, format?: string): string;
/**
* Форматирует дату в формате временной зоны.
* @param {!string|number} date - Дата в формате передаваемой маски.
* @param {string} [mask=undefined] - Формат маски на входе.
* @returns {string} Дата в формате "YYYY-MM-DDTHH:mm:ss".
*/
formatDateToTimezone(date: string | number, mask?: string | undefined): string;
/**
* Возвращает начало дня для указанной даты.
* @param {!string|number} date - Дата в формате передаваемой маски.
* @param {!string} mask - Формат маски на входе.
* @param {string} [format=YYYY-MM-DDTHH:mm:ss] - Формат маски на выходе. Default: "YYYY-MM-DDTHH:mm:ss".
* @param {string} type - Тип окончания
* @returns {string} Начало дня в указанном формате.
*/
startDate(date: string | number, mask: string | undefined, format?: string, type?: moment.unitOfTime.StartOf): string;
/**
* Возвращает конец дня для указанной даты.
* @param {!string|number} date - Дата в формате передаваемой маски.
* @param {!string} mask - Формат маски на входе.
* @param {string} [format=YYYY-MM-DDTHH:mm:ss] - Формат маски на выходе. Default: "YYYY-MM-DDTHH:mm:ss".
* @param {string} type - Тип окончания
* @returns {string} Конец дня в указанном формате.
*/
endDate(date: string | number, mask: string | undefined, format?: string, type?: moment.unitOfTime.StartOf): string;
/**
* Возвращает начало указанного типа времени для текущей даты.
* @param {!string} type - Тип времени.
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD".
* @returns {string} Начало указанного типа времени в указанном формате.
*/
currentStartDateOf(type: string, format?: string): string;
/**
* Возвращает конец указанного типа времени для текущей даты.
* @param {!string} type - Тип времени.
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD".
* @returns {string} Конец указанного типа времени в указанном формате.
*/
currentEndDateOf(type: string, format?: string): string;
/**
* Добавляет указанное количество единиц времени к текущей дате.
* @param {!number} amount - Количество единиц времени.
* @param {!string} type - Единица времени. Default: "day".
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD".
* @returns {string} Дата в указанном формате.
*/
addToCurrentDate(amount: number, type: string, format?: string): string;
/**
* Отнимает указанное количество единиц времени от текущей даты.
* @param {!number} amount - Количество единиц времени.
* @param {!string} type - Единица времени. Default: "day".
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD".
* @returns {string} Дата в указанном формате.
*/
subtractToCurrentDate(amount: number, type: string, format?: string): string;
/**
* Добавляет указанное количество единиц времени к указанной дате.
* @param {!string|number} date - Дата в формате передаваемой маски.
* @param {!string} mask - Формат маски на входе.
* @param {!number} amount - Количество единиц времени.
* @param {!string} type - Единица времени. Default: "day".
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD".
* @returns {string} Дата в указанном формате.
*/
addToDate(date: string | number, mask: string, amount: number, type: string, format?: string): string;
/**
* Отнимает указанное количество единиц времени от указанной даты.
* @param {!string|number} date - Дата в формате передаваемой маски.
* @param {!string} mask - Формат маски на входе.
* @param {!number} amount - Количество единиц времени.
* @param {!string} type - Единица времени. Default: "day".
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD".
* @returns {string} Дата в указанном формате.
*/
subtractToDate(date: string | number, mask: string, amount: number, type: string, format?: string): string;
/**
* Добавляет указанное количество единиц времени к указанной дате.
* @param {!string} date - Дата в формате "YYYY-MM-DD".
* @param {!number} amount - Количество единиц времени.
* @param {string} [type=day] - Единица времени. Default: "day".
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD".
* @returns {string} Дата в указанном формате.
*/
addToSplashDate(date: string, amount: number, type?: string, format?: string): string;
/**
* Отнимает указанное количество единиц времени от указанной даты.
* @param {!string} date - Дата в формате "YYYY-MM-DD".
* @param {!number} amount - Количество единиц времени.
* @param {string} [type=day] - Единица времени. Default: "day".
* @param {string} [format=YYYY-MM-DD] - Формат маски на выходе. Default: "YYYY-MM-DD".
* @returns {string} Дата в указанном формате.
*/
subtractToSplashDate(date: string, amount: number, type?: string, format?: string): string;
/**
* Проверяет валидность даты в формате "YYYY-MM-DD".
* @param {!string} date - Дата в формате "YYYY-MM-DD".
* @param {string} [mask=YYYY-MM-DD] - Формат маски на входе. Default: "YYYY-MM-DD"
* @returns {boolean} Результат проверки.
*/
validateSplashDate(date: string, mask?: string): boolean;
/**
* Вычисляет разницу между двумя датами в указанной единице времени.
* @param {!string} date1 - Первая дата в указанном формате.
* @param {!string} date2 - Вторая дата в указанном формате.
* @param {string} [type=day] - Единица времени. Default: "day".
* @param {string} [mask=YYYY-MM-DD] - Формат дат. Default: "YYYY-MM-DD".
* @returns {number} Разница между двумя датами в указанной единице времени.
*/
diffDate(date1: string, date2: string, type?: string, mask?: string): number;
}
export declare const Moment: MomentExtension;
export {};