Date JavaScript

Revisión del 07:31 29 nov 2012 de Yoels04024jc (discusión | contribuciones) (Página creada con '{{Definición |nombre= Date |imagen= |tamaño= |concepto= Date es una clase en JavaScript que representa fecha y hora de un instante dado. }} <div align="justify"> '''Date''' es...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Date
Información sobre la plantilla
Concepto:Date es una clase en JavaScript que representa fecha y hora de un instante dado.

Date es una clase de JavaScript que representa fecha y hora de un instante dado. Sobre este objeto recae todo el trabajo con fechas en JavaScript, como obtener una fecha, el día, la hora y otras cosas. Para trabajar con fechas es necesario instanciar un objeto de la clase Date y con él realizar las operaciones necesarias.

Introducción

Un objeto de la clase Date se puede crear de varias maneras. Por un lado se puede crear el objeto con el día y hora actuales y por otro con un día y hora distintos a los actuales. Esto depende de los parámetros pasados al construir los objetos.

Para crear un objeto fecha con el día y hora actuales se colocan los paréntesis vacíos al llamar al constructor de la clase Date.

Ejemplo:

var miFecha = new Date() 
// Devolverá la fecha actual

Para crear un objeto fecha con un día y hora distintos de los actuales hay que indicar entre paréntesis el momento con que inicializar el objeto.

Ejemplo:

var hoy = new date()   /*fecha del día en hoy */
var evento = new Date("November 10 1990");
var otro = new Date("10 Nov 1990");
var otroDia = new Date("10/02/2000"); //Oct, 2, 2000
var instante = new Date(1990, 11, 10, 20,00); // 10 de Noviembre de 1999 08:00PM

Métodos de la clase Date.

Los objetos de la clase Date no tienen propiedades pero si una gran cantidad de métodos.

getDate()

Devuelve el día del mes del objeto fecha al que se aplica. Este método controla por supuesto el número de días de cada mes y contempla el caso de años bisiestos, incluida la excepción del 2000. En el siguiente ejemplo se presenta en pantalla Hoy es día 2, suponiendo que la fecha del sistema es 2-10-200. Primero se crea la variable fecha instanciada como un objeto Date() para a continuación escribir directamente el valor de getDate() aplicado a fecha.

Ejemplo:

var fecha = new Date(); 
document.write("Hoy es día: "+fecha.getDate()); 

getDay()

Devuelve el día de la semana del objeto fecha al que se aplica en forma numérica con una cifra entre 0 para el domingo y 6 para el sábado. En el siguiente ejemplo se presenta en pantalla Hoy es 1, suponiendo que la fecha del sistema es 2-Octubre-2000, o sea, lunes. Primero se crea la variable fecha instanciada como un objeto Date() para a continuación escribir directamente el valor de getDay() aplicado a fecha.

Ejemplo:

var fecha = new Date(); 
document.write("Hoy es "+fecha.getDay());

getHours()

Devuelve la sección horas en formato 0-24 almacenada en la parte dedicada a la hora del objeto fecha al que se aplica. Así si la fecha contiene 12:40:00, esta función dará 12, pero si contiene 5:40:00 dará 17. Igualmente el método interpreta los modificadores AM / PM pero siempre devuelve la hora en formato de 24 horas. Por ejemplo, si se crea la variable fecha instanciada como un objeto Date(), si son las 17:30:10 el valor de getHours() presentará 17.

Ejemplo:

var fecha = new Date(); 
document.write("Son las "+fecha.getHours()+" horas.");

// otro ejemplo
var fecha = new Date("10-02-2000 08:20:00 pm"); 
document.write("Son las "+fecha.getHours()+" horas.");
//Este caso presentar en pantalla Son las 20 horas

getMinutes()

Devuelve los minutos de la sección dedicada a la hora almacenada en el objeto fecha al que se aplica.

Ejemplo:

var fecha = new Date("10/1/2012 08:15:03");
document.write("Son las "+fecha.getHours() );
document.write(":" + fecha.getMinutes() );
document.write(":" + fecha.getSeconds() );

getMonth()

Devuelve en forma numérica el mes correspondiente al objeto fecha al que se aplica. Así para la fecha correspondiente al 10/Oct/2000, esta función nos dará 10, el número de orden de Octubre.

Ejemplo:

var fecha = new Date(); 
document.write("Este mes es el "+fecha.getMonth() );

getSeconds()

Devuelve los segundos de la sección dedicada a la hora almacenada en el objeto fecha al que se aplica. Así, si la fecha contiene en su parte de hora 12:40:08, esta función nos dará 8. Por ejemplo creemos la variable fecha instanciada como un objeto Date(), si son las 17:30:08 el valor de getSeconds() presentará 8.

Ejemplo:

var fecha = new Date(); 
document.write("Son las "+fecha.getHours() );
document.write(":" + fecha.getMinutes() );
document.write(":" + fecha.getSeconds() );

getTime()

Devuelve la cantidad de milisegundos transcurridos desde el 1 de Enero de 1970 hasta la hora almacenada en el objeto fecha al que se aplica. En el ejemplo que sigue creamos un objeto Date con la fecha actual, a continuación escribimos el número de milisegundos dado por este función, verás que este número habitualmente es muy grande, realmente esta función puede ser útil para calcular el tiempo transcurrido entre dos instantes, por ejemplo en un puzzle podría ser útil para calcular el tiempo que el jugador emplea en resolver el puzzle, restando el getTime() obtenido al final del juego del getTime() obtenido al inicio.

Ejemplo:

var ahora = new Date(); 
document.write(ahora.getTime()); 

getYear()

Retorna el año, al que se le ha restado 1900. Por ejemplo, para el 1995 retorna 95, para el 2005 retorna 105. Este método está obsoleto en Netscape a partir de la versión 1.3 de JavaScript y ahora se utiliza getFullYear().

getFullYear()

Devuelve el año correspondiente del objeto fecha en formato completo es decir incluyendo el siglo. Así si la fecha contiene 2-Octubre-2000, esta función nos dará 2000.

Ejemplo:

var fecha = new Date(); 
document.write("El año actual es "+fecha.getFullYear());

Este método evita el efecto 2000 al presentar los años siempre con cuatro dígitos.

setDate()

Permite cambiar el día del mes del objeto fecha al que se aplica para poner el valor que se pasado en el argumento diames. Este método controla por supuesto el número de días de cada mes y contempla el caso de años bisiestos, incluida la excepción del 2000, de forma que si se pasa como argumento 31 y el mes es de 30 días la función corrige la fecha completa pasándola al día 1 del mes siguiente. Esto se muestra en el ejemplo que sigue: se crea una variable como un objeto Date con el último día de Septiembre (mes de 30 días) y se intenta poner el día a 31, luego se comprueba la fecha almacenada.

Ejemplo:

var fecha = new Date("1 Sep 2000");
fecha.setDate(31); 
document.write("Hoy es día: "+fecha.toString()); 

Como se puede apreciar en el ejemplo la fecha es corregida y pasa a 1 de Octubre.

setHours()

Permite modificar la hora almacenada en el objeto fecha al que se aplica y poner la que se pasa como argumento. Lógicamente este argumento estará entre 0 y 24, aunque si se usa un valor fuera de este rango la fecha es corregida en consecuencia. Por ejemplo si intentamos poner la hora en 30 la fecha se adelanta 24 horas y se pone en las 6 horas, cambiando además el día. Igualmente si se usa un número negativo en el argumento se toma como horas antes de la última media noche del mismo día. Observa todo esto en el ejemplo, donde al final de cada acción se presenta la fecha completa en forma de cadena.

Ejemplo:

var fecha = new Date("10 Sep 2000 00:00:00");
var nl="<br>";
fecha.setHours(20); 
document.write("A las 20: "+fecha.toString()+nl);
fecha.setHours(30); 
document.write("A las 30: "+fecha.toString()+nl);
fecha.setHours(-2); 
document.write("A las -2: "+fecha.toString()+nl);

setMinutes()

Permite ajustar los minutos de la sección dedicada a la hora almacenada en el objeto fecha al que se aplica. El nuevo valor para los minutos se pasa como argumento, que habitualmente estará entre 0 y 59, aunque un valor fuera de este rango no da error sino que ajusta el resto de la hora. Así 68 en el argumento adelanta el reloj una hora pone los minutos a 8, mientras que un -4 pone los minutos a 56 (60 menos 4).

Ejemplo:

var fecha = new Date("10 Sep 2000 00:00:00"); 
var nl="<br>";
fecha.setMinutes(20); 
document.write("Minact 20: "+fecha.toString()+nl);
fecha.setMinutes(68); 
document.write("Minact 68: "+fecha.toString()+nl);
fecha.setMinutes(-4); 
document.write("Minact -4: "+fecha.toString()+nl);

Como se puede apreciar si es necesario se ajusta la hora cuando el número de minutos supera el valor 59.

setMonth()

Esta función se usa para modificar el mes del objeto fecha al que se aplica. El nuevo valor se pasa como un número en el argumento. El valor deberá ser como es lógico numérico o convertible a numérico y comprendido entre 0 (Enero) y 11 (Diciembre). Si el valor está fuera del rango se toma el exceso sobre 11 y se corrige adecuadamente la fecha, y si es negativo se toma como número de meses antes de Enero (-1 sería Diciembre, -2 sería Noviembre, etc.). El ejemplo es muy sencillo, en este caso se cambia el mes de Septiembre por Marzo.

Ejemplo:

var fecha = new Date("10 Sep 2000 00:00:00"); 
fecha.setMonth(2); 
document.write("Minact 20: "+fecha.toString());

setSeconds()

Permite modificar el número de segundos de la hora almacenada en el objeto fecha al que se aplica, poniendo los segundos al valor pasado como argumento. Habitualmente el argumento estará comprendido entre 0 y 60.

Ejemplo:

var fecha = new Date("10 Sep 2000 00:00:00"); 
var nl="<br>";
fecha.setSeconds(90); 
document.write(fecha.toString()+nl); 

setTime()

Actualiza la fecha completa. Recibe un número de milisegundos desde el 1 de enero de 1970.

setYear()

Cambia el año recibe un número, al que le suma 1900 antes de colocarlo como año de la fecha. Por ejemplo, si recibe 95 colocará el año 1995. Este método está obsoleto a partir de JavaScript 1.3 en Netscape. Ahora se utiliza setFullYear(), indicando el año con todos los dígitos.

setFullYear()

Cambia el año de la fecha al número que recibe por parámetro. El número se indica completo ej: 2005 o 1995. Utilizar este método para estar seguros que todo funciona para fechas posteriores a 2000.

Como habréis podido apreciar, hay algún método obsoleto por cuestiones relativas al año 2000: setYear() y getYear(). Estos métodos se comportan bien en Internet Explorer y no dará ningún problema el utilizarlos. Sin embrago, no funcionarán correctamente en Netscape, por lo que es interesante que se utilicen en su lugar los métodos getFullYear() y setFullYear(), que funcionan bien en Netscape e Internet Explorer.

Fuente