import dayjs from 'dayjs'; import startOfDay from 'date-fns/startOfDay'; import { MONTHS } from '@cleartrip/ct-design-common-constants'; export const startOfToday = () => startOfDay(new Date()); export function getDateFromString(milli: string) { // input --> 25/09/2022 const date = new Date(milli).toLocaleDateString('en-GB'); return date; } export function dateFormat(date: string) { // output ---> 27 Aug 2022 const temp = date.split('/'); const newDate = `${temp[0]} ${MONTHS[parseInt(temp[1]) - 1]} ${temp[2]}`; return newDate; } export function dateFormat_hrental(date: string) { // output ---> 2022-08-27 const temp = date.split('/'); const newDate = `${temp[2]}-${temp[1]}-${temp[0]}`; return newDate; } export function formatDateToString(date: Date, formatOptions?: Record, localeOption: string = 'en-US') { const dateformatOptions: Intl.DateTimeFormatOptions = { weekday: 'short', month: 'short', day: 'numeric', ...formatOptions, }; if (date) { return date.toLocaleDateString(localeOption, dateformatOptions); } } export function getFormattedDate(date: string, outputFormat = '', inputFormat = '') { let newDate = 'invalid date'; try { newDate = date ? dayjs(date, inputFormat).format(outputFormat) : dayjs().format(outputFormat); } catch (_e) { newDate = 'invalid date'; } return newDate; } export function dayDiff(days: string, to: string) { const dDate = dayjs(getFormattedDate(days, 'DD-MM-YYYY'), 'DD-MM-YYYY'); const toDate = dayjs(getFormattedDate(to, 'DD-MM-YYYY'), 'DD-MM-YYYY'); return dDate.diff(toDate, 'day'); }