ZonedDateTimeFormatterGregorian.mjs (1954B)
1 import { DateTimeFormatterGregorian } from "icu4x" 2 import { IsoDate } from "icu4x" 3 import { Locale } from "icu4x" 4 import { Time } from "icu4x" 5 import { TimeZone } from "icu4x" 6 import { TimeZoneInfo } from "icu4x" 7 import { UtcOffset } from "icu4x" 8 import { ZonedDateTimeFormatterGregorian } from "icu4x" 9 export function formatIso(zonedDateTimeFormatterGregorianLocaleName, zonedDateTimeFormatterGregorianFormatterLocaleName, zonedDateTimeFormatterGregorianFormatterLength, zonedDateTimeFormatterGregorianFormatterTimePrecision, zonedDateTimeFormatterGregorianFormatterAlignment, zonedDateTimeFormatterGregorianFormatterYearStyle, dateYear, dateMonth, dateDay, timeHour, timeMinute, timeSecond, timeSubsecond, zoneIdId, zoneOffsetOffset, zoneVariant) { 10 11 let zonedDateTimeFormatterGregorianLocale = Locale.fromString(zonedDateTimeFormatterGregorianLocaleName); 12 13 let zonedDateTimeFormatterGregorianFormatterLocale = Locale.fromString(zonedDateTimeFormatterGregorianFormatterLocaleName); 14 15 let zonedDateTimeFormatterGregorianFormatter = DateTimeFormatterGregorian.createYmdt(zonedDateTimeFormatterGregorianFormatterLocale,zonedDateTimeFormatterGregorianFormatterLength,zonedDateTimeFormatterGregorianFormatterTimePrecision,zonedDateTimeFormatterGregorianFormatterAlignment,zonedDateTimeFormatterGregorianFormatterYearStyle); 16 17 let zonedDateTimeFormatterGregorian = ZonedDateTimeFormatterGregorian.createGenericShort(zonedDateTimeFormatterGregorianLocale,zonedDateTimeFormatterGregorianFormatter); 18 19 let date = new IsoDate(dateYear,dateMonth,dateDay); 20 21 let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond); 22 23 let zoneId = TimeZone.createFromBcp47(zoneIdId); 24 25 let zoneOffset = UtcOffset.fromString(zoneOffsetOffset); 26 27 let zone = new TimeZoneInfo(zoneId,zoneOffset,zoneVariant); 28 29 let out = zonedDateTimeFormatterGregorian.formatIso(date,time,zone); 30 31 32 return out; 33 }