Все функции работают на основе скрипта moment.js, документацию по которому можно посмотреть тут: https://momentjs.com/.
Получаем дату в формате DD.MM.YYYY
const getFormatDate = (date: Date):string => {
const momentDate = moment(date);
const day = momentDate.date();
const month = momentDate.month() + 1;
const year = momentDate.year()
return `${day.toString().padStart(2, "0")}.${month.toString().padStart(2, "0")}.${year}`;
}
Получаем время HH:mm
const getFormatTime = (date: Date):string => {
const momentObject = moment(date)
return momentObject.format('H:mm').toString()
}
Получаем дату из строки
Принимаем строку формата 2024-04-06T12:35:00.000Z
const getDateByString = (stringDate: string): Date => {
return moment(stringDate).toDate();
}
Является ли дата прошедшей
const checkIfDateInPast = (date: Date): boolean => {
return moment(new Date()) > moment(date)
}
Получаем разницу насколько дата отличается от текущей в милисекундах
const getDifferenceFromDate = (date: Date): number => {
return Math.abs(moment(new Date()).diff(moment(date)))
}
Попадает ли текущая дата в промежуток дат
const checkIfCurrentDateBetweenDates = (dateFrom: Date, dateTo: Date): boolean => {
const currentDate = moment()
return moment(currentDate).isBetween(dateFrom, dateTo);
}
Получаем день недели
const getDayNameOfWeek = (date: Date): string => {
const day = moment(date)
return day.format('dddd');
}
Получаем разницу в днях между датами
const getDifferenceDaysBetweenDates = (dateFrom: Date, dateTo: Date):number => {
const result = dateFrom.diff(dateTo, 'days')
return result
}
Также разницу можно рассчитывать следующими параметрами:
years, months, weeks, days, hours, minutes, seconds
Сбиваем время даты на 00:00
const getStartOfDay = (date: Date): Date => {
const momentDate = moment(date)
momentDate.set({hour:0,minute:0,second:0,millisecond:0})
return momentDate.format().toDate()
}
Получаем время по москве
const getDateByMoscowTime = (date: Date): Date => {
const momentDate = moment(date).utcOffset(3).format().toDate()
return momentDate
}
Получаем день недели на русском языке:
import moment from "moment";
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import ru from "moment/dist/locale/ru";
const getDayNameOfWeek = (date: Date): string => {
const day = moment(date)
moment.updateLocale("ru", ru);
return day.format('dddd');
}
Комментарии 0
Нет комментариев