import { boot } from 'quasar/wrappers'; export default boot(({ Vue }) => { function formatDateTime( date: Date, useDate = true, useTime = false, useSeconds = false, useWeekday = false ) { const dateTimeFormat = new Intl.DateTimeFormat([], { year: useDate ? 'numeric' : undefined, month: useDate ? '2-digit' : undefined, day: useDate ? '2-digit' : undefined, weekday: useWeekday ? 'long' : undefined, hour: useTime ? '2-digit' : undefined, minute: useTime ? '2-digit' : undefined, second: useTime && useSeconds ? '2-digit' : undefined }); return dateTimeFormat.format(date); } Vue.filter('date', formatDateTime); Vue.filter('time', (date: Date, seconds = false) => formatDateTime(date, false, true, seconds) ); Vue.filter('dateTime', (date: Date, seconds = false, weekday = false) => formatDateTime(date, true, true, seconds, weekday) ); });