Я использую date-fns и пытаюсь выяснить, как получить строку формата даты из локалей. Например, при использовании локали в США я хотел бы получить «MM / dd / yyyy» в качестве результата.
Я нашел этот ответ Получить формат короткой даты локали, используя javascript, но Кажется излишним писать собственную функцию для этого, так как локали date-fns уже содержат такую строку ...
var dateFns = require("date-fns") var locale = require("date-fns/locale") dateFns.format(new Date(), 'P', { locale: locale.enGB }) // 29/01/2020 dateFns.format(new Date(), 'P', { locale: locale.en }) // 01/29/2020
Вам все равно нужно будет создать отображение из строки локали в модули локали date-fns, как рекомендовано в их документации https://date-fns.org/v1.9.0/docs/I18n
Ну, читая исходный код date-fns ответил на мой вопрос:
import { enGB } from 'date-fns/locale'; let formatString = enGB.formatLong.date({width:"short"});
Вы можете использовать Intl объект javascript с DateTimeFormat:
Intl
DateTimeFormat
let date = new Intl.DateTimeFormat(navigator.language).format(new Date()); console.log(date)