los Intl.DateTimeFormat El objeto permite el formato de fecha y hora sensible al idioma.

Constructor

Intl.DateTimeFormat()
Crea un nuevo Intl.DateTimeFormat objeto.

Métodos estáticos

Intl.DateTimeFormat.supportedLocalesOf()
Devuelve un array que contiene las configuraciones regionales proporcionadas que son compatibles sin tener que recurrir a la configuración regional predeterminada del tiempo de ejecución.

Métodos de instancia

Intl.DateTimeFormat.prototype.format()
Función getter que formatea una fecha de acuerdo con la configuración regional y las opciones de formato de este DateTimeFormat objeto.
Intl.DateTimeFormat.prototype.formatToParts()
Devuelve un Array de objetos que representan la fecha string en partes que se pueden utilizar para el formato personalizado con reconocimiento de configuración regional.
Intl.DateTimeFormat.prototype.resolvedOptions()
Devuelve un nuevo objeto con propiedades que reflejan la configuración regional y las opciones de formato calculadas durante la inicialización del objeto.
Intl.DateTimeFormat.prototype.formatRange()
Este método recibe dos fechas y formatea el rango de fechas de la manera más concisa en función de la ubicación y las opciones proporcionadas al crear instancias. DateTimeFormat.
Intl.DateTimeFormat.prototype.formatRangeToParts()
Este método recibe dos fechas y devuelve una matriz de objetos que contienen los tokens específicos de la configuración regional que representan cada parte del intervalo de fechas formateado.

Ejemplos de

Usando DateTimeFormat

En uso básico sin especificar una configuración regional, DateTimeFormat utiliza la configuración regional predeterminada y las opciones predeterminadas.

var date =newDate(Date.UTC(2012,11,20,3,0,0));// toLocaleString without arguments depends on the implementation,// the default locale, and the default time zone
console.log(newIntl.DateTimeFormat().format(date));// → "12/19/2012" if run with en-US locale (language) and time zone America/Los_Angeles (UTC-0800)

Usando locales

Este ejemplo muestra algunas de las variaciones en los formatos de fecha y hora localizados. Para obtener el formato del idioma utilizado en la interfaz de usuario de su aplicación, asegúrese de especificar ese idioma (y posiblemente algunos idiomas alternativos) utilizando el locales argumento:

var date =newDate(Date.UTC(2012,11,20,3,0,0));// Results below use the time zone of America/Los_Angeles (UTC-0800, Pacific Standard Time)// US English uses month-day-year order
console.log(newIntl.DateTimeFormat('en-US').format(date));// → "12/19/2012"// British English uses day-month-year order
console.log(newIntl.DateTimeFormat('en-GB').format(date));// → "19/12/2012"// Korean uses year-month-day order
console.log(newIntl.DateTimeFormat('ko-KR').format(date));// → "2012. 12. 19."// Arabic in most Arabic speaking countries uses real Arabic digits
console.log(newIntl.DateTimeFormat('ar-EG').format(date));// → "١٩‏/١٢‏/٢٠١٢"// for Japanese, applications may want to use the Japanese calendar,// where 2012 was the year 24 of the Heisei era
console.log(newIntl.DateTimeFormat('ja-JP-u-ca-japanese').format(date));// → "24/12/19"// when requesting a language that may not be supported, such as// Balinese, include a fallback language, in this case Indonesian
console.log(newIntl.DateTimeFormat(['ban','id']).format(date));// → "19/12/2012"

Usar opciones

Los formatos de fecha y hora se pueden personalizar utilizando el options argumento:

var date =newDate(Date.UTC(2012,11,20,3,0,0,200));// request a weekday along with a long datevar options = weekday:'long', year:'numeric', month:'long', day:'numeric';
console.log(newIntl.DateTimeFormat('de-DE', options).format(date));// → "Donnerstag, 20. Dezember 2012"// an application may want to use UTC and make that visible
options.timeZone ='UTC';
options.timeZoneName ='short';
console.log(newIntl.DateTimeFormat('en-US', options).format(date));// → "Thursday, December 20, 2012, GMT"// sometimes you want to be more precise
options =
  hour:'numeric', minute:'numeric', second:'numeric',
  timeZone:'Australia/Sydney',
  timeZoneName:'short';
console.log(newIntl.DateTimeFormat('en-AU', options).format(date));// → "2:00:00 pm AEDT"// sometimes you want to be very precise
options.fractionalSecondDigits =3;//number digits for fraction-of-seconds
console.log(newIntl.DateTimeFormat('en-AU', options).format(date));// → "2:00:00.200 pm AEDT"// sometimes even the US needs 24-hour time
options =
  year:'numeric', month:'numeric', day:'numeric',
  hour:'numeric', minute:'numeric', second:'numeric',
  hour12:false,
  timeZone:'America/Los_Angeles';
console.log(newIntl.DateTimeFormat('en-US', options).format(date));// → "12/19/2012, 19:00:00"// to specify options but use the browser's default locale, use 'default'
console.log(newIntl.DateTimeFormat('default', options).format(date));// → "12/19/2012, 19:00:00"// sometimes it's helpful to include the period of the day
options =hour:"numeric", dayPeriod:"short";
console.log(newIntl.DateTimeFormat('en-US', options).format(date));// → 10 at night

Los formatos de calendario y numeración utilizados también se pueden configurar de forma independiente a través de options argumentos:

var options =calendar:'chinese', numberingSystem:'arab';var dateFormat =newIntl.DateTimeFormat('default', options);var usedOptions = dateFormat.resolvedOptions();

console.log(usedOptions.calendar);// → "chinese"

console.log(usedOptions.numberingSystem);// → "arab"

console.log(usedOptions.timeZone);// → "America/New_York" (the users default timezone)

Polyfill

formatjs Intl.DateTimeFormat polyfill

Especificaciones

Especificación
Especificación de la API de internacionalización de ECMAScript (API de internacionalización de ECMAScript)
# datetimeformat-objetos

Compatibilidad del navegador

Escritorio Móvil
Cromo Borde Firefox explorador de Internet Ópera Safari WebView Android Chrome Android Firefox para Android Opera Android Safari en IOS Internet de Samsung
DateTimeFormat 24 12 29 11 15 10 4.4 25 56 14 10 1,5
DateTimeFormat 24 12 29 11 15 10 4.4 25 56 14 10 1,5
format 24 12 29 11 15 10 4.4 25 56 14 10 1,5
formatRange 76 79 No No No 14,1 76 76 No 54 14,5 No
formatRangeToParts 76 79 No No No No 76 76 No 54 No No
formatToParts 57 Antes de la versión 71, formatToParts() devolvió un objeto con un tipo en mayúsculas y minúsculas incorrectamente key de dayperiod. La versión 71 y posteriores utilizan la especificación definida dayPeriod. Ver Error de cromo 865351. 18 51 No 44 Antes de la versión 58, formatToParts() devolvió un objeto con un tipo en mayúsculas y minúsculas incorrectamente key de dayperiod. La versión 58 y posteriores utilizan la especificación definida dayPeriod. Ver Error de cromo 865351. 11 57 Antes de la versión 71, formatToParts() devolvió un objeto con un tipo en mayúsculas y minúsculas incorrectamente key de dayperiod. La versión 71 y posteriores utilizan la especificación definida dayPeriod. Ver Error de cromo 865351. 57 Antes de la versión 71, formatToParts() devolvió un objeto con un tipo en mayúsculas y minúsculas incorrectamente key de dayperiod. La versión 71 y posteriores utilizan la especificación definida dayPeriod. Ver Error de cromo 865351. 56 43 Antes de la versión 50, formatToParts() devolvió un objeto con un tipo en mayúsculas y minúsculas incorrectamente key de dayperiod. La versión 50 y posteriores utilizan la especificación definida dayPeriod. Ver Error de cromo 865351. 11 7.0 Antes de la versión 71, formatToParts() devolvió un objeto con un tipo en mayúsculas y minúsculas incorrectamente key de dayperiod. La versión 71 y posteriores utilizan la especificación definida dayPeriod. Ver Error de cromo 865351.
resolvedOptions 24 12 29 11 15 10 4.4 25 56 14 10 1,5
supportedLocalesOf 24 12 29 11 15 10 4.4 25 56 14 10 1,5

Ver también

  • Intl