import { DateTimeFormatOptions } from "vue-i18n"; function parseDateTime(value: string): Date { return new Date(value); } function formatDateString(value: string): string { return parseDateTime(value).toLocaleString(undefined, { weekday: "long", year: "numeric", month: "long", day: "numeric", }); } function formatTimeString(value: string): string { return parseDateTime(value).toLocaleTimeString(undefined, { hour: "numeric", minute: "numeric", }); } function formatDateTimeString(value: string, showTime = true): string { const options: DateTimeFormatOptions = { weekday: undefined, year: "numeric", month: "long", day: "numeric", hour: undefined, minute: undefined, }; if (showTime) { options.weekday = "long"; options.hour = "numeric"; options.minute = "numeric"; } const format = new Intl.DateTimeFormat(undefined, options); return format.format(parseDateTime(value)); } export { formatDateString, formatTimeString, formatDateTimeString };