Date.prototype.toLocaleDateString()
===================================

El método **`toLocaleDateString()`** devuelve una cadena con una representación sensible al idioma de la parte de la fecha especificada en la zona horaria del agente de usuario.

 Los argumentos `locales` y `options` permiten a las aplicaciones especificar el idioma cuyas convenciones de formato deben utilizarse y permiten personalizar el comportamiento de la función.
 En las implementaciones más antiguas, que ignoran los argumentos `locales` y `options`, la configuración regional utilizada y la forma de la cadena devuelta dependen totalmente de la implementación.

Pruébalo
--------

Sintaxis
--------


```js
toLocaleDateString();
toLocaleDateString(locales);
toLocaleDateString(locales, options);
```

### Parámetros

 Los argumentos `locales` y `options` personalizan el comportamiento de la función y permiten a las aplicaciones especificar el idioma cuyas convenciones de formato deben utilizarse.
 En las implementaciones que ignoran los argumentos `locales` y `options`, la configuración regional utilizada y la forma de la cadena devuelta dependen totalmente de la implementación.

Véase el constructor `Intl.DateTimeFormat()` (en-US) para obtener detalles sobre estos parámetros y cómo utilizarlos.

El valor por defecto para cada propiedad del componente fecha-hora es `undefined`, pero si las propiedades `weekday`, `year`, `month`, `day` son todas `undefined`, entonces se asume que `year`, `month`, y `day` son `"numeric"`.

### Valor de retorno

Una cadena que representa la parte de la fecha de la instancia `Date` dada según las convenciones específicas del idioma.

Rendimiento
-----------

Cuando se formatea un gran número de fechas, es mejor crear un objeto `Intl.DateTimeFormat` (en-US) y utilizar la función proporcionada por su propiedad `format` (en-US).

Ejemplos
--------

### Usando toLocaleDateString()

En el uso básico sin especificar una configuración regional, se devuelve una cadena formateada en la configuración regional por defecto y con las opciones por defecto.


```js
var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));

// toLocaleDateString() sin argumentos depende de la implementación,
// la configuración regional por defecto y la zona horaria por defecto
console.log(date.toLocaleDateString());
// → "12/11/2012" si se ejecuta en la configuración regional en-US
// con la zona horaria America/Los\_Angeles
```

### Comprobación de la compatibilidad con los argumentos locales y options

 Los argumentos `locales` y `options` aún no están soportados en todos los navegadores.
 Para comprobar si una implementación ya los soporta, puede utilizar el requisito de que las etiquetas de idioma ilegales sean rechazadas con una excepción `RangeError`:


```js
function toLocaleDateStringSupportsLocales() {
  try {
    new Date().toLocaleDateString("i");
  } catch (e) {
    return e.name === "RangeError";
  }
  return false;
}
```

### Usando locales

 Este ejemplo muestra algunas de las variaciones en los formatos de fecha 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 de reserva) utilizando el argumento `locales`:


```js
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// Los formatos que aparecen a continuación asumen la zona horaria local de la localidad;
// América/Los\_Angeles para los Estados Unidos

// El inglés estadounidense utiliza el orden mes-día-año
console.log(date.toLocaleDateString("en-US"));
// → "12/20/2012"

// El inglés británico utiliza el orden día-mes-año
console.log(date.toLocaleDateString("en-GB"));
// → "20/12/2012"

// El coreano utiliza el orden año-mes-día
console.log(date.toLocaleDateString("ko-KR"));
// → "2012. 12. 20."

// Evento para persas, es difícil convertir manualmente la fecha a Solar Hijri
console.log(date.toLocaleDateString("fa-IR"));
// → "۱۳۹۱/۹/۳۰"

// En la mayoría de los países de habla árabe se utilizan dígitos árabes reales
console.log(date.toLocaleDateString("ar-EG"));
// → "٢٠‏/١٢‏/٢٠١٢"

// para los japoneses, las aplicaciones pueden querer utilizar el calendario
// japonés, donde 2012 fue el año 24 de la era Heisei
console.log(date.toLocaleDateString("ja-JP-u-ca-japanese"));
// → "24/12/20"

// cuando se solicita un idioma que puede no estar soportado
// como el balinés, incluir un idioma de reserva, en este caso el indonesio
console.log(date.toLocaleDateString(["ban", "id"]));
// → "20/12/2012"
```

### Usando options

Los resultados proporcionados por `toLocaleDateString()` pueden personalizarse utilizando el argumento `options`:


```js
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// solicitar un día de la semana junto con 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 utilizar el UTC y hacerlo visible
options.timeZone = "UTC";
options.timeZoneName = "short";
console.log(date.toLocaleDateString("en-US", options));
// → "Thursday, December 20, 2012, UTC"
```

Especificaciones
----------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-date.prototype.tolocaledatestring |
| ECMAScript Internationalization API Specification # sup-date.prototype.tolocaledatestring |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* `Intl.DateTimeFormat` (en-US)
* `Date.prototype.toLocaleString()`
* `Date.prototype.toLocaleTimeString()`
* `Date.prototype.toString()` (en-US)