22 Votos

JavaScript: Obtener la Fecha y la Hora actuales

Tutorial de Stefan Trost | 11/04/2024 a las 17:53

Hoy, me gustaría mostrarle cómo recuperar la fecha actual y la hora actual usando JavaScript para poder usarlas en sus scripts.

Tanto para la fecha como para la hora, necesitamos el objeto Date proporcionado por JavaScript que podemos crear de la siguiente manera:

var today = new Date();

Después de eso, podemos leer todos los valores que necesitamos para obtener la fecha actual y la hora actual para poder procesarlos o generarlos en nuestro script.

Determinar la Fecha actual

Primero, veamos cómo podemos obtener la fecha actual (veremos la hora en la siguiente sección). Para hacer esto, primero creamos nuestro objeto Date y luego leemos el año, el mes y el día.

var today = new Date();
var d = today.getDate();
var m = today.getMonth() + 1;
var y = today.getFullYear();

var dmy = d + "/" + m + "/" + y;
alert(dmy);

Para leer los componentes individuales utilizamos los métodos .getDate(), .getMonth() así como .getFullYear():

  • Para obtener el día utilizamos el método .getDate(). Esto nos proporciona el día del mes como un número del 1 al 31.
  • Para obtener el mes usamos el método .getMonth(). Esta vez tenemos que sumar 1 al valor obtenido, porque JavaScript nos da el mes como un número del 0 y 11. Esto no es necesario con .getDate(). El valor 0 corresponde a enero, el valor 1 a febrero, hasta el número 11, que representa diciembre.
  • Finalmente usamos .getFullYear() para obtener también el año de nuestra fecha. Se llama .getFullYear() porque el método es diferente del método .getYear() relacionado. Con .getFullYear() obtenemos el año como un número de 4 dígitos mientras que .getYear() devuelve un número de 2 dígitos para los años entre 1900 y 1999. A partir del año 2000 .getYear() devuelve el año como 3 dígitos comenzando con 100. Antes de 1900 .getYear() devolverá valores negativos. Debido a este problema (palabra clave: problema del año 2000), .getYear() ahora se eliminó del estándar web y ya no debería usarse. Por esta razón, siempre debemos usar .getFullYear(), ya que es posible que en algún momento los navegadores ya no admitan .getYear().

Después de recibir el día actual, la fecha actual y el año actual como valores individuales, combinamos los componentes individuales en una fecha en el formato día/mes/año y la enviamos a través de un cuadro de diálogo alert().

Por supuesto, este ejemplo solo pretende demostrar la función básica. En la práctica, por supuesto, podemos combinar los valores como deseemos, usarlos de otra manera o, en lugar de leerlos todos, también podemos leer solo los componentes de fecha individuales.

Determinar la Hora actual

También podemos determinar la hora actual a través del objeto Date. El siguiente ejemplo muestra cómo hacerlo.

var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();

var t = h + ":" + m + ":" + s;
alert(t);

De manera análoga a los métodos para obtener los componentes de la fecha, esta vez usamos los métodos .getHours(), .getMinutes() y .getSeconds() para obtener la hora, minuto y segundo actuales. Obtenemos valores de 0 a 59 respectivamente de 0 a 23.

El objeto Date también nos proporciona el método .getMilliseconds() que se puede utilizar si también necesitamos los milisegundos.

En nuestro ejemplo usamos los valores nuevamente para mostrar la hora actual mediante un mensaje de alert().

ResponderPositivoNegativo
22 Votos

Si no necesita la flexibilidad que tiene con obtener cada parte de la fecha por sí sola, también puede utilizar las funciones .toLocaleString() o .toISOString().

Primero, aquí hay algunos ejemplos del uso de .toLocaleString():

var date = new Date();

// 12/24/2023, 10:00:00 PM
var d1 = date.toLocaleString('en-US');

// 24/12/2023 10:00:00
var d2 = date.toLocaleString('es-ES');

// 24.12.2023 10:00:00
var d3 = date.toLocaleString('de-DE');

Dependiendo del parámetro que estés pasando, obtendrás la fecha en otro formato. Por ejemplo, cuando utilice "en-US", obtendrá la fecha en el formato mes/día/año y con AM y PM. Usando "en-GB", "es-ES" o "fr-FR", obtengas el formato día/mes/año o si usas "de-DE" obtendrás el formato alemán día.mes.año. También puede omitir este parámetro. Con solo llamar a .toLocaleString() sin ningún parámetro, se utiliza el formato del sistema o del navegador.

var date = new Date();

// 2023-12-24T10:00:00.000Z
var d = date.toISOString();

Aparte de eso, el método .toISOString() siempre entrega una cadena en el formato AAAA-MM-DDTHH:mm:ss.sssZ, que siempre tiene una longitud de 24 caracteres y sigue el formato ISO 8601.
11/04/2024 a las 23:23

ResponderPositivo Negativo
Responder

Sobre el Autor

AvatarPuede encontrar software de Stefan Trost en la pagina es.sttmedia.com. ¿Necesita un software individual según sus propios requisitos? Escribenos: es.sttmedia.com/contacto
Ver Perfil

 

Temas Relacionados

PHP: Determinar el Número de Semana

Tutorial | 0 Comentarios

Cambiar la Fecha de Archivo

Tutorial | 0 Comentarios

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.