UNPKG

@i-novus/ui-core

Version:

Базовые UI компоненты

30 lines (29 loc) 1.16 kB
import dayjs from 'dayjs'; /** * Функция округляет дату до необходимой точности (отрезает лишнюю часть) * Н.р. если dateAccuracy="day", то останется только дата, а время будет обнулено * @param {Date | Dayjs | null | undefined} value - Дата * @param {string} dateAccuracy - точность: month - округление до месяца (число будет равно 1, а время обнулено), day - округление до дня, minute - до минут, full - без округления * @return {Dayjs | null} */ export const cutDateByAccuracy = (value, dateAccuracy) => { if (!value) { return null; } const date = dayjs(value); if (!date.isValid()) { return null; } switch (dateAccuracy) { case 'month': return date.startOf('month'); case 'day': return date.startOf('day'); case 'minute': return date.startOf('minute'); case 'full': return date; default: return date; } };