DateTimeFormatter.mjs (1822B)
1 import { Calendar } from "icu4x" 2 import { Date } from "icu4x" 3 import { DateTimeFormatter } from "icu4x" 4 import { IsoDate } from "icu4x" 5 import { Locale } from "icu4x" 6 import { Time } from "icu4x" 7 export function formatIso(dateTimeFormatterLocaleName, dateTimeFormatterLength, dateTimeFormatterTimePrecision, dateTimeFormatterAlignment, dateTimeFormatterYearStyle, dateYear, dateMonth, dateDay, timeHour, timeMinute, timeSecond, timeSubsecond) { 8 9 let dateTimeFormatterLocale = Locale.fromString(dateTimeFormatterLocaleName); 10 11 let dateTimeFormatter = DateTimeFormatter.createYmdt(dateTimeFormatterLocale,dateTimeFormatterLength,dateTimeFormatterTimePrecision,dateTimeFormatterAlignment,dateTimeFormatterYearStyle); 12 13 let date = new IsoDate(dateYear,dateMonth,dateDay); 14 15 let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond); 16 17 let out = dateTimeFormatter.formatIso(date,time); 18 19 20 return out; 21 } 22 export function formatSameCalendar(dateTimeFormatterLocaleName, dateTimeFormatterLength, dateTimeFormatterTimePrecision, dateTimeFormatterAlignment, dateTimeFormatterYearStyle, dateYear, dateMonth, dateDay, dateCalendarKind, timeHour, timeMinute, timeSecond, timeSubsecond) { 23 24 let dateTimeFormatterLocale = Locale.fromString(dateTimeFormatterLocaleName); 25 26 let dateTimeFormatter = DateTimeFormatter.createYmdt(dateTimeFormatterLocale,dateTimeFormatterLength,dateTimeFormatterTimePrecision,dateTimeFormatterAlignment,dateTimeFormatterYearStyle); 27 28 let dateCalendar = new Calendar(dateCalendarKind); 29 30 let date = Date.fromIsoInCalendar(dateYear,dateMonth,dateDay,dateCalendar); 31 32 let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond); 33 34 let out = dateTimeFormatter.formatSameCalendar(date,time); 35 36 37 return out; 38 }