Una forma útil y flexible para formatear DateTimes en JavaScript es Intl.DateTimeFormat
:
var date = new Date();
var options = { year: 'numeric', month: 'short', day: '2-digit'};
var _resultDate = new Intl.DateTimeFormat('en-GB', options).format(date);
// The _resultDate is: "12 Oct 2017"
// Replace all spaces with - and then log it.
console.log(_resultDate.replace(/ /g,'-'));
El resultado es: "12-Oct-2017"
Los formatos de fecha y hora se pueden personalizar utilizando el argumento de opciones.
El Intl.DateTimeFormat
objeto es un constructor de objetos que permite el formato de fecha y hora sensible al lenguaje.
Sintaxis
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
Parámetros
locales
Opcional. Una cadena con una etiqueta de idioma BCP 47, o una matriz de tales cadenas. Para ver la forma general y la interpretación del argumento de las configuraciones regionales, consulte la página Intl. Se permiten las siguientes claves de extensión Unicode:
nu
Numbering system. Possible values include: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Calendar. Possible values include: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
Opciones
Opcional. Un objeto con algunas o todas las siguientes propiedades:
localeMatcher
El algoritmo de coincidencia de la configuración regional a utilizar. Los valores posibles son "lookup"
y "best fit"
; el valor predeterminado es "best fit"
. Para obtener información sobre esta opción, consulte la página Intl.
zona horaria
La zona horaria a utilizar. El único valor que las implementaciones deben reconocer es "UTC"
; el valor predeterminado es la zona horaria predeterminada del tiempo de ejecución. Implementaciones también pueden reconocer los nombres zona horaria de la base de datos de zona horaria IANA, tales como "Asia/Shanghai"
, "Asia/Kolkata"
,"America/New_York"
.
hora12
Si se debe usar el tiempo de 12 horas (en oposición al tiempo de 24 horas). Los valores posibles son true
y false
; el valor predeterminado depende de la configuración regional.
formatMatcher
El algoritmo de coincidencia de formato a utilizar. Los valores posibles son "basic"
y "best fit"
; el valor predeterminado es"best fit"
. Consulte los siguientes párrafos para obtener información sobre el uso de esta propiedad.
Las siguientes propiedades describen los componentes de fecha y hora para usar en la salida formateada y sus representaciones deseadas. Se requieren implementaciones para admitir al menos los siguientes subconjuntos:
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
Las implementaciones pueden admitir otros subconjuntos, y las solicitudes se negociarán con todas las combinaciones de representación de subconjuntos disponibles para encontrar la mejor coincidencia. Hay dos algoritmos disponibles para esta negociación y seleccionados por la propiedad formatMatcher: una especificada completamente"basic"
algoritmo y un algoritmo de "mejor ajuste" dependiente de la implementación.
día laborable
La representación del día de la semana. Los valores posibles son "narrow"
, "short"
, "long"
.
era
La representación de la época. Los valores posibles son "narrow"
, "short"
, "long"
.
año
La representación del año. Los valores posibles son "numeric"
, "2-digit"
.
mes
La representación del mes. Los valores posibles son "numeric"
, "2-digit"
, "narrow"
, "short"
, "long"
.
día
La representación del día. Los valores posibles son "numeric"
, "2-digit"
.
hora
La representación de la hora. Los valores posibles son "numeric"
, "2-digit"
.
minuto
La representación del minuto. Los valores posibles son "numeric"
, "2-digit"
.
segundo
La representación del segundo. Los valores posibles son "numeric"
, "2-digit"
.
timeZoneName
La representación del nombre de la zona horaria. Los valores posibles son "short"
, "long"
. El valor predeterminado para cada propiedad de componente de fecha y hora es indefinido, pero si todas las propiedades de componente son indefinidas, se supone que el año, mes y día son "numeric"
.
Revisa en linea
Más detalles