# Локализация дат

Поддержка с версии

🆕 7.0+

Можно выполнять локализацию дат по соответствующему формату.

Пример формата для дат:

const dateTimeFormats = {
  'en-US': {
    short: {
      year: 'numeric',
      month: 'short',
      day: 'numeric'
    },
    long: {
      year: 'numeric',
      month: 'long',
      day: 'numeric',
      weekday: 'long',
      hour: 'numeric',
      minute: 'numeric'
    }
  },
  'pt-BR': {
    short: {
      year: 'numeric',
      month: 'short',
      day: 'numeric'
    },
    long: {
      year: 'numeric',
      month: 'long',
      day: 'numeric',
      weekday: 'long',
      hour: 'numeric',
      minute: 'numeric',
      hour12: true
    }
  }
}

Как видно выше, можно определять именованный формат даты (например, short, long и т.д.) используя опции ECMA-402 Intl.DateTimeFormat (opens new window)

После этого, для возможности использования данного формата в сообщениях локализации, необходимо задать опцию dateTimeFormats в конструкторе VueI18n:

const i18n = new VueI18n({
  dateTimeFormats
})

new Vue({
  i18n
}).$mount('#app')

Шаблон:

<div id="app">
  <p>{{ $d(new Date(), 'short') }}</p>
  <p>{{ $d(new Date(), 'long', 'pt-BR') }}</p>
</div>

Результат:

<div id="app">
  <p>Jan 18, 2021</p>
  <p>domingo, 18 de janeiro de 2021 5:47 AM</p>
</div>