1import { GregorianZonedDateTimeFormatter } from "icu4x" 2import { IsoDate } from "icu4x" 3import { Locale } from "icu4x" 4import { Time } from "icu4x" 5import { TimeZone } from "icu4x" 6import { TimeZoneInfo } from "icu4x" 7import { UtcOffset } from "icu4x" 8export function formatIso(gregorianZonedDateTimeFormatterLocaleName, gregorianZonedDateTimeFormatterLength, dateYear, dateMonth, dateDay, timeHour, timeMinute, timeSecond, timeSubsecond, zoneTimeZoneIdId, zoneOffsetOffset, zoneZoneVariant) { 9 10 let gregorianZonedDateTimeFormatterLocale = Locale.fromString(gregorianZonedDateTimeFormatterLocaleName); 11 12 let gregorianZonedDateTimeFormatter = GregorianZonedDateTimeFormatter.createWithLength(gregorianZonedDateTimeFormatterLocale,gregorianZonedDateTimeFormatterLength); 13 14 let date = new IsoDate(dateYear,dateMonth,dateDay); 15 16 let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond); 17 18 let zoneTimeZoneId = TimeZone.createFromBcp47(zoneTimeZoneIdId); 19 20 let zoneOffset = UtcOffset.fromString(zoneOffsetOffset); 21 22 let zone = new TimeZoneInfo(zoneTimeZoneId,zoneOffset,zoneZoneVariant); 23 24 let out = gregorianZonedDateTimeFormatter.formatIso(date,time,zone); 25 26 27 return out; 28} 29