6.5 - O objeto Date

O objeto Date permite trabalhar com datas e horários. Algumas operações com datas podem ser bastante simplificadas através do uso deste objeto. Por exemplo:

Este objeto precisa ser criado através do operador new. Há 4 formas de criar uma data:

// Pegando a data atual do sistema
DataHoje= newDate() ;

// Utilizando uma string com a data
Data1 = newDate("February15, 1997 12:02:00");

// Através do ano, dia e mês
Data2 = newDate(1997, 1, 15);

// Através do ano, dia, mês, hora, minuto e segundo
Data3 = newDate(1997, 1, 15, 14, 02, 12);

Métodos do objeto Date

O objeto Date tem uma série de métodos que permitem a manipulação de cada parte de uma data em separado.

 Métodos:

getDate() / setDate() -

obtém/define o dia do mês

getMonth() / setMonth() -

obtém/define o mês (de 0 a 11)

getYear() / setYear() -

obtém/define o ano

getFullYear() / setFullYear() -

obtém/define o ano com 4 dígitos

getDay() / setDay() -

obtém/define o dia da semana (de 0 a 6)

getHours() / setHours -

obtém/define as horas

getMinutes() / setMinutes() -

obtém/define os minutos

getSeconds() / setSeconds() -

obtém/define os segundos

getTime() / setTime() -

obtém/define o nº milisegundos desde 01/01/70

Operações úteis com datas:

Datas não podem ser comparadas diretamente. Para comparar duas datas (saber qual das duas ocorreu primeiro) podemos utilizar a função getTime. Neste caso basta converter as duas para um número de milisegundos desde uma data inicial com getTime() e comparar estes dois valores. A data com maior getTime é a mais recente.

if ( data.getTime() > hoje.getTime() )
document.write( "data ainda não chegou !" );

Para calcular o número de dias entre duas datas, basta dividir o número de milisegundos entre elas pelo número de milisegundos de um dia:

msperday= 24 * 60 * 60 * 1000;
ndias= (data.getTime() -hoje.getTime()) / msperday;