Globalize.js: возможность комбинировать короткий и средний формат в datetime - PullRequest
0 голосов
/ 26 ноября 2018

Я создаю угловое приложение и использую Globalize для разбора и форматирования значений даты и времени.Мне нужно иметь возможность форматировать дату и время по-разному в зависимости от настроек пользователя, где у пользователя есть возможность показывать секунды / не показывать секунды.

Передав предустановку DateFormatterOptions, например {datetime: "short"}, я могу получить следующий формат, который является общим форматом, который работает для различных региональных настроек, и все выглядит как ожидалось.

Зв .: 2018-10-10 10: 10
Ru: 10.10.08 10:10

Теперь мне нужно иметь возможность получить точно такой же формат, простодобавление секунд к форматированному значению.

Если посмотреть на сводку CLDR , то не существует предопределенного формата, который обеспечивает такое поведение, за исключением комбинации даты как «короткой» и времени как «средней» (см. Строку 1922).

Использование DateFormatterOptions: "full" |"средний" |«long» не является опцией, так как это не дает раздел даты в ожидаемом формате, который должен быть таким же, как указано выше.

Я пробовал использовать скелет, такой как «yMdhhmmss», и я приближаюсь, но тогда, конечно, раздел времени не будет правильно отформатирован, поскольку «чч» в основном означает «использовать 12-часовые часы», что не является тем, что я хочу в шведском сценарии (ожидается 24-часовое время).

Итак, что меня интересует, так это то, возможно ли объединить формат короткой даты и формат среднего времени при попытке форматирования значения даты и времени?

Может быть, что-то вроде передачи DateFormatterOptions в виде комбинированного объекта, как показано ниже,ищуОднако это не работает, поскольку оно будет анализировать значение только как дату с заданным значением «short» и без учета временного отрезка.

{time: «medium», date: «short»}

Заранее спасибо!

С уважением, Джон

...