• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import { Calendar } from "icu4x"
2import { Date } from "icu4x"
3import { IsoDate } from "icu4x"
4import { Locale } from "icu4x"
5import { Time } from "icu4x"
6import { TimeZone } from "icu4x"
7import { TimeZoneInfo } from "icu4x"
8import { UtcOffset } from "icu4x"
9import { ZonedDateTimeFormatter } from "icu4x"
10export function format(zonedDateTimeFormatterLocaleName, zonedDateTimeFormatterLength, dateYear, dateMonth, dateDay, dateCalendarLocaleName, timeHour, timeMinute, timeSecond, timeSubsecond, zoneTimeZoneIdId, zoneOffsetOffset, zoneZoneVariant) {
11
12    let zonedDateTimeFormatterLocale = Locale.fromString(zonedDateTimeFormatterLocaleName);
13
14    let zonedDateTimeFormatter = ZonedDateTimeFormatter.createWithLength(zonedDateTimeFormatterLocale,zonedDateTimeFormatterLength);
15
16    let dateCalendarLocale = Locale.fromString(dateCalendarLocaleName);
17
18    let dateCalendar = Calendar.createForLocale(dateCalendarLocale);
19
20    let date = Date.fromIsoInCalendar(dateYear,dateMonth,dateDay,dateCalendar);
21
22    let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond);
23
24    let zoneTimeZoneId = TimeZone.createFromBcp47(zoneTimeZoneIdId);
25
26    let zoneOffset = UtcOffset.fromString(zoneOffsetOffset);
27
28    let zone = new TimeZoneInfo(zoneTimeZoneId,zoneOffset,zoneZoneVariant);
29
30    let out = zonedDateTimeFormatter.format(date,time,zone);
31
32
33    return out;
34}
35export function formatIso(zonedDateTimeFormatterLocaleName, zonedDateTimeFormatterLength, dateYear, dateMonth, dateDay, timeHour, timeMinute, timeSecond, timeSubsecond, zoneTimeZoneIdId, zoneOffsetOffset, zoneZoneVariant) {
36
37    let zonedDateTimeFormatterLocale = Locale.fromString(zonedDateTimeFormatterLocaleName);
38
39    let zonedDateTimeFormatter = ZonedDateTimeFormatter.createWithLength(zonedDateTimeFormatterLocale,zonedDateTimeFormatterLength);
40
41    let date = new IsoDate(dateYear,dateMonth,dateDay);
42
43    let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond);
44
45    let zoneTimeZoneId = TimeZone.createFromBcp47(zoneTimeZoneIdId);
46
47    let zoneOffset = UtcOffset.fromString(zoneOffsetOffset);
48
49    let zone = new TimeZoneInfo(zoneTimeZoneId,zoneOffset,zoneZoneVariant);
50
51    let out = zonedDateTimeFormatter.formatIso(date,time,zone);
52
53
54    return out;
55}
56