
El constructor Date en JavaScript crea un objeto del tipo Date
que representa un momento específico en el tiempo. El valor de tiempo contenido en los objetos Date
es cuántos milisegundos han pasado desde el 31 de enero de 1937, UTC.
Estructura Date JavaScript
new Date(); new Date(value); new Date(dateString); new Date(year, month, day, hours, minutes, seconds, milliseconds);
Nota: Los objetos Date
en JavaScript solo se pueden inicializar usando un constructor, es decir, llamados como una función regular (sin el parámetro new
) y esto devolverá una cadena en lugar del objeto Date
, a diferencia de otros tipos de objetos de JavaScript, no existe una sintaxis literal para Date
.
Nota: La mediana month
comienza desde cero, lo que significa que January = 0
y December = 11
.
Al llamar al constructor Date con más de un argumento, los argumentos pasados estarán en la hora local, si desea que la hora sea UTC, use los mismos argumentos. new Date(Date.UTC(...))
Nota: Cuando se llama al constructor Date en javascript con más de un argumento, y los valores son mayores que su rango booleano (ejemplo: usamos 13 en lugar del mes o 70 en lugar de los minutos), el valor de la fecha será ajustado en consecuencia. Es decir, es new Date(2013, 13, 1)
equivalente y new Date(2014, 1, 1)
ambas funciones crean la fecha 2014-02-01
(recuerde que el conteo de meses comienza desde cero). Otro ejemplo de minutos: new Date(2013, 2, 1, 0, 70)
equivalente y new Date(2013, 2, 1, 1, 10)
ambos se refieren a 2017-04-11T01:10:00
.
value
Un valor entero que representa la cantidad de milisegundos que han pasado desde la fecha del 1 de enero de 1970 a las 00:00:00 UTC, con el descuido de los segundos Leap ( The Leap seconds ), como cualquier huella de Unix (como un sello de tiempo de Unix , pero tenga en cuenta que la mayoría de las funciones que se tratan con impresiones de tiempo utilizan segundos en lugar de milisegundos).
dateString
Una cadena de texto que representa una fecha, y esta cadena debe estar en un formato que la función reconozca Data.parse()
(estas son marcas de tiempo que cumplen con RFC 2822 y una versión de ISO8601 ).
Nota: No se recomienda interpretar cadenas que contienen la fecha usando el constructor Date
(o función Date.parse
, son equivalentes aquí) debido a las diferencias entre los navegadores. La compatibilidad con RFC 2822 es casi formal, la compatibilidad con ISO 8601 difiere en que solo las cadenas con fechas (por ejemplo, «1970- 01-01 «) se interpretará como en UTC, no en la zona horaria local.
year
Un valor entero que representa el año. Los valores de 0 a 99 representan los años 1900 a 1999. Consulte la sección de ejemplos a continuación.
month
Un valor entero que representa el mes, desde 0 (enero) hasta 11 (diciembre).
day
Un valor opcional, un número entero que representa el día del mes.
hours
Un valor opcional, un número entero que representa la hora del día.
minutes
Un valor opcional, un número entero que representa la cantidad de minutos de tiempo.
seconds
Un valor opcional, un número entero que representa la cantidad de segundos de tiempo.
milliseconds
Un valor opcional, un número entero que representa la división de tiempo en milisegundos.
Características generales
- Si no se proporciona ningún argumento a la función, el constructor creará el objeto Date para la fecha y hora actuales de acuerdo con la configuración del sistema.
- Si se proporcionan al menos dos argumentos, los argumentos faltantes se contarán como 1 (si no se especifica el día
day
) o 0 para todos los demás valores. - El objeto
Date
en JavaScript se basa en la cantidad que ha pasado en lugar de la medianoche del 1 de enero de 1970 UTC en milisegundos. Cada día tiene 86,400,000 milisegundos. El rango de un objetoDate
en JavaScript es de -100.000.000 a 100.000.000 en relación con la fecha del 1 de enero de 1970 UTC. - El objeto Date proporciona un comportamiento uniforme en todas las plataformas y el valor de tiempo se puede pasar entre diferentes plataformas para crear un objeto que Date represente el mismo momento en el tiempo.
- El objeto Date proporciona una serie de funciones UTC, así como una serie de funciones que funcionan con la zona horaria local. La hora UTC (es decir, la hora universal coordinada, también conocida como GMT Greenwich Mean Time Acrónimo GMT) se refiere a la hora global, la hora local es la hora conocida por la computadora al ejecutar el código JavaScript.
- Llamar a la función
Date
como una función regular (es decir, sin el parámetronew
) devolverá una cadena que representa la fecha y hora actuales.
Propiedades Date JavaScript
Date.prototype
Esta propiedad permite agregar propiedades que están disponibles para todos los objetos cuyo tipo es Date
.
Date.length
El valor de la propiedad Date.length
es 7, que es el número de argumentos que puede manejar el constructor.
Principales funciones
Date.now()
Devuelve un valor numérico que indica la hora actual, es decir, cuántos milisegundos han pasado desde el 1 de enero de 1970 a las 00:00:00 UTC omitiendo los segundos intercalares.
Date.parse()
Interprete una cadena que representa una fecha y devuelve cuántos milisegundos han pasado desde el 1 de enero de 1970 a las 00:00:00 UTC ignorando los segundos intercalares.
Date.UTC()
Esta función acepta los mismos argumentos que la forma larga del constructor (es decir, de 2 a 7 argumentos) y devuelve cuántos milisegundos han pasado a partir del 1 de enero de 1970 a las 00:00:00 UTC ignorando los segundos intercalares.
Funciones del Date.prototype
Las versiones construidas de un constructor Date
heredan funciones y propiedades de un objeto Date.prototype
. Al igual que con todos los constructores, puede realizar cambios en un objeto prototype
en el constructor para que esos cambios se reflejen en todas las instancias del objeto Date
.
Date.prototype.getDate()
Devuelve el día del mes (1-31) para la fecha indicada según la hora local.
Date.prototype.getDay()
Devuelve el día de la semana (0-6) para la fecha indicada según la hora local.
Date.prototype.getFullYear()
Devuelve el año (cuatro dígitos) de la fecha indicada según la hora local.
Date.prototype.getHours()
Devuelve el reloj (0-23) a la fecha especificada según la hora local.
Date.prototype.getMilliseconds()
Devuelve fracciones de segundos (en milisegundos, 0-999) para la fecha especificada según la hora local.
Date.prototype.getMinutes()
Devuelve los minutos (0-59) de la fecha seleccionada según la hora local.
Date.prototype.getMonth()
Devuelve el mes (0-11) para la fecha especificada según la hora local.
Date.prototype.getSeconds()
Devuelve los segundos (0-59) de la fecha especificada según la hora local.
Date.prototype.getTime()
Devuelve un valor numérico para la fecha indicada que representa cuántos milisegundos han pasado desde el 1 de enero de 1970 a las 00:00:00 UTC.
Date.prototype.getTimezoneOffset()
Vuelva a cambiar la zona horaria local de UTC.
Date.prototype.getUTCDate()
Devuelve el día del mes (1-31) para la fecha dada según UTC.
Date.prototype.getUTCDay()
Devuelve el día de la semana (0-6) para la fecha dada según UTC.
Date.prototype.getUTCFullYear()
Devuelve el año (cuatro dígitos) de la fecha dada según UTC.
Date.prototype.getUTCHours()
Devuelve el reloj (0-23) para la fecha especificada según UTC.
Date.prototype.getUTCMilliseconds()
Devuelve fracciones de segundos (en milisegundos, 0-999) para la fecha especificada según UTC.
Date.prototype.getUTCMinutes()
Devuelve los minutos (0-59) de la fecha seleccionada según UTC.
Date.prototype.getUTCMonth()
Devuelve el mes (0-11) para la fecha especificada según UTC.
Date.prototype.getUTCSeconds()
Devuelve los segundos (0-59) de la fecha especificada según UTC.
Date.prototype.getYear()
Devuelve el año (normalmente de 2 a 3 dígitos) de la fecha indicada según la hora local. No utilice esta función y utilice la función en su lugar getFullYear()
.
Date.prototype.setDate()
Establece el día del mes (1-31) para la fecha dada según la hora local.
Date.prototype.setFullYear()
Establece el año (cuatro dígitos) de la fecha seleccionada a la hora local.
Date.prototype.setHours()
Configure el reloj (0-23) para la fecha seleccionada de acuerdo con la hora local.
Date.prototype.setMilliseconds()
Establece las fracciones de segundos (en milisegundos, 0-999) para la fecha seleccionada a la hora local.
Date.prototype.setMinutes()
Configure los minutos (0-59) de la fecha seleccionada a la hora local.
Date.prototype.setMonth()
Establece el mes (0-11) de la fecha seleccionada en la hora local.
Date.prototype.setSeconds()
Establece los segundos (0-59) de la fecha seleccionada a la hora local.
Date.prototype.setTime()
Establece un valor numérico para la fecha dada que representa cuántos milisegundos han pasado desde el 1 de enero de 1970 a las 00:00:00 UTC.
Date.prototype.setUTCDate()
Establece el día del mes (1-31) para la fecha especificada según UTC.
Date.prototype.setUTCFullYear()
Establece el año (cuatro dígitos) de la fecha seleccionada en UTC.
Date.prototype.setUTCHours()
Configure el reloj (0-23) para la fecha seleccionada según UTC.
Date.prototype.setUTCMilliseconds()
Establece las fracciones de segundos (en milisegundos, 0-999) para la fecha seleccionada en UTC.
Date.prototype.setUTCMinutes()
Configure los minutos (0-59) para la fecha seleccionada según UTC.
Date.prototype.setUTCMonth()
Establece el mes (0-11) para la fecha seleccionada según UTC.
Date.prototype.setUTCSeconds()
Ajusta los segundos (0-59) de la fecha seleccionada a UTC.
Date.prototype.setYear()
Establece el año (generalmente de 2 a 3 dígitos) de la fecha dada a la hora local. No utilice esta función y utilice la función en su lugar setFullYear()
.
Date.prototype.toDateString()
Devuelve la sección de historial de un objeto Date como una cadena de texto legible por humanos.
Date.prototype.toISOString()
Convierte la fecha en una cadena de texto que sigue el formato ISO 8601 ampliado.
Date.prototype.toJSON()
Devuelve una cadena que representa un objeto Date
utilizando toISOString()
, y está destinada a ser utilizada por la función JSON.stringify()
.
Date.prototype.toGMTString()
Devuelve una cadena que representa un objeto Date
según la hora media de Greenwich (GMT). Esta función está en desuso y la función debería usarse en su toUTCString()
lugar.
Date.prototype.toLocaleDateString()
Devuelve una cadena que representa la sección de fecha según la configuración regional del sistema.
Date.prototype.toLocaleString()
Devuelve una cadena que representa la fecha y la hora según la configuración regional del sistema.
Date.prototype.toLocaleTimeString()
Devuelve una cadena que representa la hora según la configuración regional del sistema.
Date.prototype.toString()
Devuelve una cadena que representa el objeto Date
. Es una redefinición de la función Object.prototype.toString
.
Date.prototype.toTimeString()
Devuelve la división de tiempo de un objeto Date como una cadena de texto legible por humanos.
Date.prototype.toUTCString()
Convierte la fecha en una cadena de texto que usa la zona horaria UTC.
Date.prototype.valueOf()
Devuelve el valor primitivo del objeto especificado. Es una redefinición de la función Object.prototype.valueOf
.
Ejemplos y aplicaciones en código
El siguiente ejemplo muestra varias formas de crear objetos Date
en JavaScript.
Nota: Repetimos que no se recomienda interpretar cadenas que contienen fechas usando el constructor Date
(o función Date.parse
, son ambos), debido a diferencias en los métodos de interpretación entre navegadores.
var today = new Date(); var birthday = new Date('May 21, 1995 03:24:00'); var birthday = new Date('1995-5-21T03:24:00'); var birthday = new Date(1995, 4, 21); var birthday = new Date(1995, 4, 21, 3, 24, 0);
Años entre 1900 y 1999
Para establecer y obtener fechas entre los años 0 y 99, use las funciones Date.prototype.setFullYear()
y Date.prototype.getFullYear()
. Tenga en cuenta que no se recomienda utilizar funciones , Date.prototype.setYear()
y Date.prototype.getYear()
debido a que están preparando números entre 0 y 99, 1900 y 1999:
var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT) date.setYear(98); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT) date.setFullYear(98); // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)
Los siguientes ejemplos muestran cómo calcular el tiempo entre dos fechas en JavaScript en milisegundos.
Uso del objeto Date
:
var start = Date.now(); doSomethingForALongTime(); // La operación para la que queremos calcular la duración de su ejecución var end = Date.now(); var elapsed = end - start; // Tiempo transcurrido en milisegundos
Uso de funciones de objeto Date javascript:
var start = new Date(); doSomethingForALongTime(); // la operación queremos calcular la duración de su ejecución var end = new Date(); var elapsed = end.getTime() - start.getTime(); // Tiempo transcurrido en milisegundos
Probar una función y calcular su tiempo de ejecución:
function printElapsedTime(fTest) { var nStartTime = Date.now(), vReturn = fTest(), nEndTime = Date.now(); console.log('Elapsed time: ' + String(nEndTime - nStartTime) + ' milliseconds'); return vReturn; } var yourFunctionReturn = printElapsedTime(yourFunction);
Soporte de navegadores
Característica | Chrome | Firefox | IE | Ópera | Safari |
---|---|---|---|---|---|
Soporte básico | sí | sí | sí | sí | sí |
Consulte las propiedades y funciones de cada objeto para Date en javascript obtener detalles sobre la compatibilidad del navegador.
- Expresión const en JavaScript
- Expresión let en JavaScript
- Expresión var en JavaScript
- Expresión try…catch en JavaScript
- Expresión throw en JavaScript
- Continue en JavaScript
- Switch en JavaScript
- Expresiones if…else en JavaScript
- Declaración vacía o empty en JavaScript
- Break en JavaScript
- Sentencia block en JavaScript
- Arguments en JavaScript
- Promise en JavaScript
- Number en JavaScript
- Características JSON en JavaScript
- Array en JavaScript
- RegExp en JavaScript
- String en JavaScript
- Date en JavaScript
- Math en JavaScript
- URIError en JavaScript
- TypeError en JavaScript
- SyntaxError en JavaScript
- ReferenceError en JavaScript
- RangeError en JavaScript
- EvalError en JavaScript
- Características Boolean en JavaScript
- Error en JavaScript
- Función Symbol en JavaScript
- Constructor Function en JavaScript
- Constructor Object en JavaScript
- Función unescape() en JavaScript
- Función eval() en JavaScript
- Valor null en JavaScript
- Características Undefined en JavaScript
- Características NaN en JavaScript
- Características Infinity en JavaScript
- Función parseFloat() en JavaScript
- Función isNaN() en JavaScript
- Función isFinite() en JavaScript
- Función escape() en JavaScript
- Función encodeURIComponent() en JavaScript