--- title: Date.prototype.toLocaleDateString() slug: Web/JavaScript/Referencia/Objetos_globales/Date/toLocaleDateString tags: - Fecha - IANA formato horario - Internacionalizacion - JavaScript - Prototipo - Prototype - Referencia - metodo translation_of: Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString ---
El método toLocaleDateString()
devuelve una cadena con una representación de la fecha sensible al lenguaje. Los nuevos argumentos locales
y options
permiten a las aplicaciones especificar el lenguaje cuyas convenciones de formato deben usarse y permitir personalizar el comportamiento de la función. En implementaciones anteriores, las cuales ignoran los argumentos locales
y options
, el configuración regional usada y el formato de cadena devuelto dependen completamente de la implementación.
La fuente de este ejemplo interactivo está almacenado en el repositorio de GitHub. Si usted quiere contribuir al proyecto de ejemplos interactivos, por favor clona https://github.com/mdn/interactive-examples y envíanos una solicitud de extracción (pull request).
dateObj.toLocaleDateString([locales [, options]])
Compruebe la sección de Compatibilidad con su navegador para ver qué navegadores suportan los argumentos locales
y options
, y el Ejemplo: Comprobando el soporte para los argumentos locales y options para detectar dicha característica.
El valor por defecto para cada propiedad del componente date-time es {{jsxref("undefined")}}, pero si las propiedades weekday
, year
, month
, day
son todas {{jsxref("undefined")}}, entonces year
, month
, y day
se asumen tener el valor "numeric"
.
Una cadena representando una porción de fecha de la instancia {{jsxref("Global_Objects/Date", "Date")}} indicada de acuerdo con las convenciones específicas del lenguaje.
toLocaleDateString()
En un caso básico sin especificar una configuración regional, se devolverá una cadena formateada en la configuración regional y las opciones por defecto.
var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0)); // toLocaleDateString() sin argumentos dependientes de la implementación, // de la configuración regional por defecto y la zona horaria por defecto console.log(date.toLocaleDateString()); // → "12/11/2012" si se ejecuta en una configuración regional en-US con zona horaria America/Los_Angeles
locales
y options
Los argumentos locales
y options
no son soportados aún por todos los navegadores. Para comprobar si una implementación los soporta, puede usar el requerimiento To check whether an implementation supports them already, you can use the requirement that illegal language tags are rejected with a {{jsxref("RangeError")}} exception:
function toLocaleDateStringSupportsLocales() {
try {
new Date().toLocaleDateString('i');
} catch (e) {
return e.name === 'RangeError';
}
return false;
}
Using locales
locales
Este ejemplo muestra algunas de las variaciones en los formatos de configuración regional de las fechas. Para poder obtener el formato del idioma usado en la interfaz de usuario de su aplicación, asegúrese de especificar el idioma (y posiblemente algunos idiomas alternativos) usando el argumento locales
:
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// Los formatos de abajo asumen la zona horaria local de la configuración regional;
// America/Los_Angeles para US
// El inglés de USA hace uso de orden mes-día-año
console.log(date.toLocaleDateString('en-US'));
// → "12/19/2012"
// El inglés británico hace uso del orden día-mes-año
console.log(date.toLocaleDateString('en-GB'));
// → "20/12/2012"
// El coreano hace uso del orden año-mes-día
console.log(date.toLocaleDateString('ko-KR'));
// → "2012. 12. 20."
// Evento para persa. Es difícil convertir manualmente la fecha a Solar Hijri
console.log(date.toLocaleDateString('fa-IR'));
// → "۱۳۹۱/۹/۳۰"
// El árave en la mayoría de paises arabehablantes hace uso de los dígitos árabes
console.log(date.toLocaleDateString('ar-EG'));
// → "٢٠/١٢/٢٠١٢"
// Para el japonés, las aplicaciones quieren poder usar el calendario japonés,
// donde 2012 era el año 24 de la era Heisei
console.log(date.toLocaleDateString('ja-JP-u-ca-japanese'));
// → "24/12/20"
// Cuando solicite un idioma que no esté soportado, por ejemplo el balinés,
// incluya un idioma alternativo, en este caso el indonesio
console.log(date.toLocaleDateString(['ban', 'id']));
// → "20/12/2012"
options
Los resultados aportados por toLocaleDateString()
pueden ser personalizados usando el argumento options
:
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0)); // Solicita el día de la semana junto a una fecha larga var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; console.log(date.toLocaleDateString('de-DE', options)); // → "Donnerstag, 20. Dezember 2012" // Una aplicación puede querer usar UTC y hacer que sea visible options.timeZone = 'UTC'; options.timeZoneName = 'short'; console.log(date.toLocaleDateString('en-US', options)); // → "Thursday, December 20, 2012, GMT"
Cuando se formatea números largos de fechas, es mejor crear un objeto {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}} y usar la función aportada por esta propiedad {{jsxref("DateTimeFormat.prototype.format", "format")}}.
Especificación |
---|
{{SpecName('ESDraft', '#sec-date.prototype.tolocaledatestring', 'Date.prototype.toLocaleDateString')}} |
{{SpecName('ES Int Draft', '#sup-date.prototype.tolocaledatestring', 'Date.prototype.toLocaleDateString')}} |
La tabla de compatibilidad en esta página es generada desde una estructura de datos. Si usted desea contribuir a los datos, por favor compruebe https://github.com/mdn/browser-compat-data y envíenos una solicitud de extracción (pull request).
{{Compat("javascript.builtins.Date.toLocaleDateString")}}