Importante:

1-Como a maioria dos objetos de dados no Javascript o objeto data tem uma representação interna no Javascript.
Quando exibimos o conteúdo do elemento data este é convertido para o formato aceito pelos humanos, ou seja, pelo idioma, configrações regionais, etc.
Portanto, o objeto Data é primitivo em sua natureza mas a sua exibição é formatada para visualização e isto poderá ocasionar erros quando a formatação do JavaScript é diferente da formatação do browser.
2-As funções de data e hora devolvem números...de 0 a n ou de 1 a n
3-Sempre utilize as funções toLocaleDateString() para formatar a data em outros idiomas. Evita muitos erros.


1-Definindo objeto data e exibindo:
Script:
var a = new Date();
document.write(a);

Funcionamento:

Considerações :
1-O formato padrão foi o Inglês : Dia da Semana, Mês, Dia, Ano, Horário, Fuso horário.

Separando os elementos da data

Dia da Semana - getDay()

Cuidado : getDay() dá o dia da semana e não o dia do mês.
0=Domingo, 1=Segunda, 2=Terça, 3=Quarta, 4=Quinta, 5=Sexta, 6=Sábado.

Script:
document.write(a.getDay());   //exibe de 0 a 6
document.write('<br />');
switch (a.getDay()) {
   case 0:
      document.write('Domingo')
      break;
   case 1:
      document.write('Segunda-Feira')
      break;
   case 2:
      document.write('Terça-Feira')
      break;
   case 3:
      document.write('Quarta-Feira')
      break;
   case 4:
      document.write('Quinta-Feira')
      break;
   case 5:
      document.write('Sexta-Feira')
      break;
   case 6:
      document.write('Sábado')
      break;

Funcionamento:



Dia do Mês - getDate()

getDate() devolve o dia do mês de 1 a 31, dependendo do mês.

Script:
document.write(a.getDate())

Funcionamento:



Mês do Ano - getMonth()

ImportantegetMonth devolve os valores de 0 a 11 correspondentes ao mes do ano;

Script:
document.write(a.getMonth())
Fiz um switch-case para exibir o nome do mês por extenso mas ele é longo e resolvi não mostrar.


Funcionamento:



Ano da data - getYear()

Importante : O Ano no Javascript desconsidera o século.
Portanto é preciso somar 1900 ao resultado da função para exibir o ano correto.

Script:
document.write(a.getYear());
document.write('<br />');
document.write(a.getYear() + 1900);


Funcionamento:



Horas da data - getHours()

Script:
document.write(a.getHours());


Funcionamento:



Minutos da data - getMinutes()

Script:
document.write(a.getMinutes());


Funcionamento:



Segundos da data - getSeconds()

Script:
document.write(a.getSeconds());


Funcionamento:



Milisegundos desde 1/1/1970 - getTime()

Importante: Esta função é muito usada para comparar se uma data é anterior ou posterior a outra.
Basta fazer uma conta de subtração.

Script:
document.write(a.getTime());


Funcionamento:



Importante

As datas e horários exibidas são determinadas pelo sistema operacional e pelo fuso horário determinado nele.
Portanto, é o horário local do usuário.
Caso queira obter o horário com referencia ao horário oficial de Greenwich use as funções:
getUTCDate(), getUTCDay(), getUTCFullYear(), getUTCHours(), getUTCMilliseconds(), getUTCMinutes(), getUTCMonth(), getUTCSeconds().
Normalmente pode ocorrer erros de representação se a formatação do string não for compatível com o idioma ou configuração local da máquina.



Convertendo horas em string()

Script:
document.write(a.toString());


Funcionamento:



Criando uma data específica

Neste caso precisaremos do dia, mes e ano no formato numérico.

Importante :
1-A data deve estar no padrão universal, ou seja, AAAA,MM,DD.
2-Como não foi definido horário será utilizado 00:00:00 do horário local.

Script1:
document.write(new Date(1995, 11, 17));

Funcionamento:

Script2:



var dia, mes, ano;
dia = 15;
mes = 9;
ano = 2015;
document.write(new Date(ano, mes, dia));

Funcionamento:



Criando uma data e horários específicos

Neste caso precisaremos de todos os parâmetros numéricos.

Importante :
1-A data deve estar no padrão universal, ou seja, AAAA,MM,DD,HH,MM,SS.


Script:
document.write(new Date(1997, 5, 14,16,22,47));

Funcionamento:


Como no exemplo anterior podemos colocar todos os parâmetros em variáveis numéricas e fazer a conversão.


Exibindo a data no formato brasileiro

O formato tipico brasileiro é DD/MM/AAAA.
Importante: Os modernos browsers tem uma função para isso.
Sempre utilize as funções nativas para formatação de data, isto evita muitos erros.

Script:
document.write(a.toLocaleDateString('pt-BR'));

Funcionamento:




Exibindo a data no formato americano

O formato tipico americano é MM/DD/AAAA.
Importante:
1-Os modernos browsers tem uma função para isso.
Sempre utilize as funções nativas para formatação de data, isto evita muitos erros.
2-Este formato é muito usado para trabalhar com o SQL Server pois o padrão de data em bancos de dados é o inglês.

Script:
document.write(a.toLocaleDateString('en-US'));

Funcionamento: