Ejemplo de funcionamiento de Date

15 de abril de 2002
Valoración del artículo:
Ejercicio realizado para ilustrar el funcionamiento de la clase Date en Javascript.
En el capítulo anterior de la segunda parte del manual de Javascript explicamos las generalidades de la clase Date, para trabajo con fechas. Así que ahora podemos poner los conocimientos en la práctica en un ejemplo completo.

En este ejemplo vamos a crear dos fechas, una con el instante actual y otra con fecha del pasado. Luego las imprimiremos las dos y extraeremos su año para imprimirlo también. Luego actualizaremos el año de una de las fechas y la volveremos a escribir con un formato más legible.

//en estas líneas creamos las fechas
miFechaActual = new Date()
miFechaPasada = new Date(1998,4,23)

//en estas líneas imprimimos las fechas.
document.write (miFechaActual)
document.write ("<br>")
document.write (miFechaPasada)

//extraemos el año de las dos fechas
anoActual = miFechaActual.getFullYear()
anoPasado = miFechaPasada.getFullYear()

//Escribimos en año en la página
document.write("<br>El año actual es: " + anoActual)
document.write("<br>El año pasado es: " + anoPasado)

//cambiamos el año en la fecha actual
miFechaActual.setFullYear(2005)

//extraemos el día mes y año
dia = miFechaActual.getDate()
mes = parseInt(miFechaActual.getMonth()) + 1
ano = miFechaActual.getFullYear()

//escribimos la fecha en un formato legible
document.write ("<br>")
document.write (dia + "/" + mes + "/" + ano)

Si se desea, se puede ver en funcionamiento este script en una página a parte.

Hay que destacar un detalle antes de acabar y es que el número del mes puede empezar desde 0. Por lo menos en el Netscape con el que realizamos las pruebas empezaba en 0 el mes. Por esta razón sumamos uno al mes que devuelve el método getMonth.

Hay más detalles a destacar, pues resulta que en Netscape el método getFullYear() devuelve los años trascurridos desde 1900, con lo que al obtener el año de una fecha de, por ejemplo, 2005, indica que es el año 105. Para obtener el año completo tenemos a nuestra disposición el método getFullYear() que devolvería 2005 del mismo modo en Netscape e Internet Explorer.

Mucha atención, pues, al trabajo con fechas en distintas plataformas, puesto que podría ser problemático el hecho de que nos ofrezcan distintas salidas los métodos de manejo de fechas, com siempre dependiendo de la marca y versión de nuestro navegador.

Referencia: Se puede ver otro ejemplo de trabajo con la clase Date en el taller Calcular la edad en Javascript

Compartir en redes sociales

Comentarios
Fueron enviados 6 comentarios al artículo
1 comentario no revisado
5 comentarios revisados:
Por: Juan Antonio
03/6/2005
Fe de Erratas: Creo que no me equivoco corrigiéndoos esta pequeña errata, que por lo demás, no habéis cometido en el articulo anterior: "Hay más detalles a destacar, pues resulta que en Netscape el método getFullYear() devuelve los años trascurridos desde 1900..." creo que sería getYear(), y no getFullYear()

Un excelente trabajo, lenguaje claro y conciso. Mis felicitaciones.
Por: Victor Lopez
01/12/2006
Y como sería poner el día anterior?

Estoy pensando en el último día del mes anterior de un día conocido.

Hoy 5/11/2012
o 16/11/2012
Busco el 31/10/2012

De manera mas general ... como se busca el día de 'ayer', de cualquier dia ?
parseInt
Por: Stradonski
19/11/2009
Por qué al extraer el mes en el ejemplo se utiliza el metodo parseInt ?
...
kizá no me contesten, hay mensajes no revisados del 2005 y 2006...
holaaaaa, olaaa, laaa, laaa, aa, a....
parseint
Por: urukai
14/3/2010
Utiliza el parseInt por que FechaActual.getMonth() devuelve un numero pero que al sumar hay que convertir explicitamente en un numero, sino el resultado seria la concatenacion de el numero devuelto por el mes mas el 1, por ejemplo si FechaActual.getMonth() devuelve 5 y no usamos parseInt el resultado seria 51
Error en código
18/3/2013
Gracias a vuestro curso creo haber encontrado un pequeño error en vuestro código fuente en esta página aunque lo he visto también en otras.
Vosotros poneis:

<p>En este ejemplo...
<span class="codigo">
//En estas líneas creamos la fechas...
...
<p>
//En estas líneas imprimimos las fechas...
...
</span>

Como no cerrais los párrafos, la máquina entiende que <p> engloba a <span> pero como a continuación poneis otro <p> el span se cierra aquí y no donde lo habeis puesto. Algo así:

<p>En este ejemplo...
<span class="codigo">
//En estas líneas creamos la fechas...
...
</span>
</p>
<p>
//En estas líneas imprimimos las fechas...
...
</span>??

Saludos y ánimo.

Manuales relacionados
Categorias relacionadas
El autor
Miguel Angel Alvarez
Director de DesarrolloWeb.com
http://www.desarrolloweb.com


Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...