ZonedDateFormatter.mjs (1399B)
1 import { DateFormatter } from "icu4x" 2 import { IsoDate } from "icu4x" 3 import { Locale } from "icu4x" 4 import { TimeZone } from "icu4x" 5 import { TimeZoneInfo } from "icu4x" 6 import { UtcOffset } from "icu4x" 7 import { ZonedDateFormatter } from "icu4x" 8 export function formatIso(zonedDateFormatterLocaleName, zonedDateFormatterFormatterLocaleName, zonedDateFormatterFormatterLength, zonedDateFormatterFormatterAlignment, zonedDateFormatterFormatterYearStyle, dateYear, dateMonth, dateDay, zoneIdId, zoneOffsetOffset, zoneVariant) { 9 10 let zonedDateFormatterLocale = Locale.fromString(zonedDateFormatterLocaleName); 11 12 let zonedDateFormatterFormatterLocale = Locale.fromString(zonedDateFormatterFormatterLocaleName); 13 14 let zonedDateFormatterFormatter = DateFormatter.createYmd(zonedDateFormatterFormatterLocale,zonedDateFormatterFormatterLength,zonedDateFormatterFormatterAlignment,zonedDateFormatterFormatterYearStyle); 15 16 let zonedDateFormatter = ZonedDateFormatter.createGenericShort(zonedDateFormatterLocale,zonedDateFormatterFormatter); 17 18 let date = new IsoDate(dateYear,dateMonth,dateDay); 19 20 let zoneId = TimeZone.createFromBcp47(zoneIdId); 21 22 let zoneOffset = UtcOffset.fromString(zoneOffsetOffset); 23 24 let zone = new TimeZoneInfo(zoneId,zoneOffset,zoneVariant); 25 26 let out = zonedDateFormatter.formatIso(date,zone); 27 28 29 return out; 30 }