ZonedDateFormatterGregorian.mjs (1597B)
1 import { DateFormatterGregorian } 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 { ZonedDateFormatterGregorian } from "icu4x" 8 export function formatIso(zonedDateFormatterGregorianLocaleName, zonedDateFormatterGregorianFormatterLocaleName, zonedDateFormatterGregorianFormatterLength, zonedDateFormatterGregorianFormatterAlignment, zonedDateFormatterGregorianFormatterYearStyle, dateYear, dateMonth, dateDay, zoneIdId, zoneOffsetOffset, zoneVariant) { 9 10 let zonedDateFormatterGregorianLocale = Locale.fromString(zonedDateFormatterGregorianLocaleName); 11 12 let zonedDateFormatterGregorianFormatterLocale = Locale.fromString(zonedDateFormatterGregorianFormatterLocaleName); 13 14 let zonedDateFormatterGregorianFormatter = DateFormatterGregorian.createYmd(zonedDateFormatterGregorianFormatterLocale,zonedDateFormatterGregorianFormatterLength,zonedDateFormatterGregorianFormatterAlignment,zonedDateFormatterGregorianFormatterYearStyle); 15 16 let zonedDateFormatterGregorian = ZonedDateFormatterGregorian.createGenericShort(zonedDateFormatterGregorianLocale,zonedDateFormatterGregorianFormatter); 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 = zonedDateFormatterGregorian.formatIso(date,zone); 27 28 29 return out; 30 }