• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import { Calendar } from "icu4x"
2import { Date } from "icu4x"
3import { DateTimeFormatter } from "icu4x"
4import { IsoDate } from "icu4x"
5import { Locale } from "icu4x"
6import { Time } from "icu4x"
7export function formatIso(dateTimeFormatterLocaleName, dateTimeFormatterLength, dateTimeFormatterTimePrecision, dateTimeFormatterAlignment, dateTimeFormatterYearStyle, dateYear, dateMonth, dateDay, timeHour, timeMinute, timeSecond, timeSubsecond) {
8
9    let dateTimeFormatterLocale = Locale.fromString(dateTimeFormatterLocaleName);
10
11    let dateTimeFormatter = DateTimeFormatter.createYmdt(dateTimeFormatterLocale,dateTimeFormatterLength,dateTimeFormatterTimePrecision,dateTimeFormatterAlignment,dateTimeFormatterYearStyle);
12
13    let date = new IsoDate(dateYear,dateMonth,dateDay);
14
15    let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond);
16
17    let out = dateTimeFormatter.formatIso(date,time);
18
19
20    return out;
21}
22export function formatSameCalendar(dateTimeFormatterLocaleName, dateTimeFormatterLength, dateTimeFormatterTimePrecision, dateTimeFormatterAlignment, dateTimeFormatterYearStyle, dateYear, dateMonth, dateDay, dateCalendarLocaleName, timeHour, timeMinute, timeSecond, timeSubsecond) {
23
24    let dateTimeFormatterLocale = Locale.fromString(dateTimeFormatterLocaleName);
25
26    let dateTimeFormatter = DateTimeFormatter.createYmdt(dateTimeFormatterLocale,dateTimeFormatterLength,dateTimeFormatterTimePrecision,dateTimeFormatterAlignment,dateTimeFormatterYearStyle);
27
28    let dateCalendarLocale = Locale.fromString(dateCalendarLocaleName);
29
30    let dateCalendar = Calendar.createForLocale(dateCalendarLocale);
31
32    let date = Date.fromIsoInCalendar(dateYear,dateMonth,dateDay,dateCalendar);
33
34    let time = new Time(timeHour,timeMinute,timeSecond,timeSubsecond);
35
36    let out = dateTimeFormatter.formatSameCalendar(date,time);
37
38
39    return out;
40}
41