UNPKG

@cnamts/vue-dot

Version:

Implementation of our Design System for the French Health Insurance

29 lines (20 loc) 758 B
import dayjs from 'dayjs'; import customParseFormat from 'dayjs/plugin/customParseFormat'; dayjs.extend(customParseFormat); /** Parse a date with dayjs */ export function parseDate(value: string, format = 'DD/MM/YYYY'): dayjs.Dayjs { // Currently dayjs doesn't work well with timezone offsets and parsing // To fix this, we set the hour based on timezone offset // so we don't go back or forward multiple hours /** Timezone offset in minutes */ const timezoneOffset = (new Date()).getTimezoneOffset(); let offset = '00'; if (timezoneOffset > 0) { offset = '14'; } else { offset = '04'; } const dateWithTime = `${value} ${offset}:00:00`; const formatWithTime = `${format} HH:mm:ss`; return dayjs(dateWithTime, formatWithTime, true); }