Fecha y hora de JavaScript

En este tutorial, aprenderá sobre la fecha y la hora en JavaScript con la ayuda de ejemplos.

En JavaScript, la fecha y la hora están representadas por el Dateobjeto. El Dateobjeto proporciona la información de fecha y hora y también proporciona varios métodos.

Una fecha de JavaScript define la época de EcmaScript que representa milisegundos desde el 1 de enero de 1970 UTC . Esta fecha y hora es la misma que la época de UNIX (valor base predominante para los valores de fecha y hora registrados por computadora).

Crear objetos de fecha

Hay cuatro formas de crear un objeto de fecha.

  • nueva fecha ()
  • nueva fecha (milisegundos)
  • nueva fecha (cadena de fecha)
  • nueva fecha (año, mes, día, horas, minutos, segundos, milisegundos)

nueva fecha ()

Puede crear un objeto de fecha utilizando el new Date()constructor. Por ejemplo,

 const timeNow = new Date(); console.log(timeNow); // shows current date and time

Salida

 Lun 06 de julio de 2020 12:03:49 GMT + 0545 (hora de Nepal)

Aquí, new Date()crea un nuevo objeto de fecha con la fecha actual y la hora local.

nueva fecha (milisegundos)

El Dateobjeto contiene un número que representa milisegundos desde el 1 de enero de 1970 UTC .

new Date(milliseconds)crea un nuevo objeto de fecha agregando los milisegundos al tiempo cero. Por ejemplo,

 const time1 = new Date(0); // epoch time console.log(time1); // Thu Jan 01 1970 05:30:00 // 100000000000 milliseconds after the epoch time const time2 = new Date(100000000000) console.log(time2); // Sat Mar 03 1973 15:16:40

Nota : 1000 milisegundos es igual a 1 segundo.

nueva fecha (cadena de fecha)

new Date(date string) crea un nuevo objeto de fecha a partir de una cadena de fecha.

En JavaScript, generalmente hay tres formatos de entrada de fecha.

Formatos de fecha ISO

Puede crear un objeto de fecha pasando formatos de fecha ISO. Por ejemplo,

 // ISO Date(International Standard) const date = new Date("2020-07-01"); // the result date will be according to UTC console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545

También puede pasar solo el año y el mes o solo el año. Por ejemplo,

 const date = new Date("2020-07"); console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545 const date1 = new Date("2020"); console.log(date1); // Wed Jul 01 2020 05:45:00 GMT+0545

También puede pasar un tiempo específico a las fechas ISO.

 const date = new Date("2020-07-01T12:00:00Z"); console.log(date); // Wed Jul 01 2020 17:45:00 GMT+0545

Nota : La fecha y la hora se separan con la letra T mayúscula . Y la hora UTC se define con Z mayúscula .

Formato de fecha corta y larga

Los otros dos formatos de fecha son el formato de fecha corta y el formato de fecha larga .

 // short date format "MM/DD/YYYY" const date = new Date("03/25/2015"); console.log(date); // Wed Mar 25 2015 00:00:00 GMT+0545 // long date format "MMM DD YYYY" const date1 = new Date("Jul 1 2020"); console.log(date1); // Wed Jul 01 2020 00:00:00 GMT+0545 // month and day can be in any order const date2 = new Date("1 Jul 2020"); console.log(date2); // Wed Jul 01 2020 00:00:00 GMT+0545 // month can be full or abbreviated. Also month names are insensitive. // comma are ignored const date3 = new Date("July 1 2020"); console.log(date3); // Wed Jul 01 2020 00:00:00 GMT+0545 const date4 = new Date("JULY, 1, 2020"); console.log(date4); // Wed Jul 01 2020 00:00:00

nueva fecha (año, mes, día, horas, minutos, segundos, milisegundos)

new Date(year, month,… )crea un nuevo objeto de fecha pasando una fecha y hora específicas. Por ejemplo,

 const time1 = new Date(2020, 1, 20, 4, 12, 11, 0); console.log(time1); // Thu Feb 20 2020 04:12:11

El argumento pasado tiene un orden específico.

Si se pasan cuatro números, representa año, mes, día y horas. Por ejemplo,

 const time1 = new Date(2020, 1, 20, 4); console.log(time1); // Thu Feb 20 2020 04:00:00

Del mismo modo, si se pasan dos argumentos, representa año y mes. Por ejemplo,

 const time1 = new Date(2020, 1); console.log(time1); // Sat Feb 01 2020 00:00:00

Nota : Si pasa solo un argumento, se trata como milisegundos. Por lo tanto, debe pasar dos argumentos para usar este formato de fecha.

En JavaScript, los meses se cuentan de 0 a 11 . Enero es 0 y diciembre es 11 .

Métodos de fecha de JavaScript

Hay varios métodos disponibles en el objeto Date de JavaScript.

Método Descripción
ahora() Devuelve el valor numérico correspondiente a la hora actual (el número de milisegundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 UTC).
getFullYear () Obtiene el año según la hora local
getMonth () Obtiene el mes, de 0 a 11 según la hora local
obtener la fecha() Obtiene el día del mes (1-31) según la hora local
getDay () Obtiene el día de la semana (0-6) según la hora local
getHours () Obtiene la hora de 0 a 23 según la hora local
getMinutes Gets the minute from 0 to 59 according to local time
getUTCDate() Gets the day of the month (1-31) according to universal time
setFullYear() Sets the full year according to local time
setMonth() Sets the month according to local time
setDate() Sets the day of the month according to local time
setUTCDate() Sets the day of the month according to universal time

Example: Date Methods

 const timeInMilliseconds = Date.now(); console.log(timeInMilliseconds); // 1593765214488 const time = new Date; // get day of the month const date = time.getDate(); console.log(date); // 30 // get day of the week const year = time.getFullYear(); console.log(year); // 2020 const utcDate = time.getUTCDate(); console.log(utcDate); // 30 const event = new Date('Feb 19, 2020 23:15:30'); // set the date event.setDate(15); console.log(event.getDate()); // 15 // Only 28 days in February! event.setDate(35); console.log(event.getDate()); // 7

Formatting a Date

Unlike other programming languages, JavaScript does not provide a built-in function for formatting a date.

However, you can extract individual bits and use it like this.

 const currentDate = new Date(); const date = currentDate.getDate(); const month = currentDate.getMonth(); const year = currentDate.getFullYear(); // show in specific format let monthDateYear = (month+1) + '/' + date + '/' + year; console.log(monthDateYear); // 7/3/2020

Note: The above program gives inconsistent length as date and month have single-digit and double-digit.

AutoCorrection in Date Object

When you assign out of range values in the Date object, it auto-corrects itself. For example,

 const date = new Date(2008, 0, 33); // Jan does not have 33 days console.log(date);

Output

 Sat Feb 02 2008

Para obtener más información sobre la fecha y la hora en JavaScript, visite Desmitificar la fecha y la hora.

Articulos interesantes...