1import { Calendar } from "icu4x" 2import { Date } from "icu4x" 3import { DateTimeFormatter } from "icu4x" 4import { IsoDate } from "icu4x" 5import { Locale } from "icu4x" 6import { Time } from "icu4x" 7export 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} 22export function formatSameCalendar(dateTimeFormatterLocaleName, dateTimeFormatterLength, dateTimeFormatterTimePrecision, dateTimeFormatterAlignment, dateTimeFormatterYearStyle, dateYear, dateMonth, dateDay, dateCalendarLocaleName, 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 dateCalendarLocale = Locale.fromString(dateCalendarLocaleName); 29 30 let dateCalendar = Calendar.createForLocale(dateCalendarLocale); 31 32 let date = Date.fromIsoInCalendar(dateYear,dateMonth,dateDay,dateCalendar); 33 34 let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond); 35 36 let out = dateTimeFormatter.formatSameCalendar(date,time); 37 38 39 return out; 40} 41