JavaScript - Date
Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br
Rodrigo Branas
rodrigo.branas@agilecode.com.br
http://www.agilecode.com.br
Formado em Ciências da Computação pela UFSC e
MBA em Gerenciamento de Projetos pela FGV, é
arquiteto de software há mais de 15 anos,
especialista nas linguagens Java e JavaScript. É
também autor do livro AngularJS Essentials e de
diversos artigos da revista Java Magazine. Além disso,
é professor e palestrante, tendo participado da formação de mais de
1.000 desenvolvedores de software e apresentado mais de 100
palestras em eventos no Brasil e no exterior. Fundador da Agile Code,
uma empresa de treinamento e consultoria, atualmente é
apresentador de um canal no YouTube sobre JavaScript, AngularJS e
muito mais!
Acompanhe a série Desvendando a linguagem
JavaScript pelo YouTube em:
http://www.youtube.com/rodrigobranas
Apesar de parecer mais simples, a data
não é representada dessa forma...
Como assim?
Ela é representada pela quantidade de
milissegundos desde o início da Era Unix
A Era Unix (Unix Epoch), ou Posix Time,
teve início no dia 1 de janeiro de 1970 às
00:00:00 do Tempo Universal Coordenado,
mais conhecido como UTC, referência a
partir de onde se calculam os fusos horários
do mundo inteiro.
Existem 4 maneiras diferentes de
criar uma data!
Criando uma data, a partir da função
construtora de Date, sem parâmetros
1. var hoje = new Date();
Invocando getTime para acessar sua
representação interna em milissegundo
1. var hoje = new Date();
2. hoje.getTime(); // 1429446304392
Criando uma data, passando como
parâmetro o tempo em milissegundos
1. var natal = new Date(1419465600000);
Espera, o Natal não é em 25/12?
O cálculo é feito a partir de UTC
±00:00, também conhecido como
Z, abreviação de Zulu Time
A hora no mundo em relação a UTC
Criando uma data, passando como
parâmetro uma String
1. new Date("2014/12/25");
2. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST)
3. new Date("12/25/2014");
4. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST)
5. new Date("25/12/2014");
6. // Invalid Date
Cuidado, os formatos oficialmente
aceitos são RFC 2822 ou ISO 8601
RFC 2822
Thu Dec 25 2014 10:30:00 GMT-0200 (BRST)
Criando uma data, passando como
parâmetro uma String RFC 2822
1. new Date("Thu Dec 25 2014");
2. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST)
Criando uma data, passando como
parâmetro uma String RFC 2822
1. new Date("Thu Dec 25 2014");
2. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST)
3. new Date("Thu Dec 25 2014 10:30:00");
4. // Thu Dec 25 2014 10:30:00 GMT-0200 (BRST)
ISO 8601
2014-12-25T10:30:00-02:00
Criando uma data, passando como
parâmetro uma String ISO 8601
1. new Date("2014-12-25");
2. // Wed Dec 24 2014 22:00:00 GMT-0200 (BRST)
Criando uma data, passando como
parâmetro uma String ISO 8601
1. new Date("2014-12-25");
2. // Wed Dec 24 2014 22:00:00 GMT-0200 (BRST)
3. new Date("2014-12-25T10:30:00");
4. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST)
Criando uma data, passando como
parâmetro uma String ISO 8601
1. new Date("2014-12-25");
2. // Wed Dec 24 2014 22:00:00 GMT-0200 (BRST)
3. new Date("2014-12-25T10:30:00");
4. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST)
5. new Date("2014-12-25T10:30:00Z");
6. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST)
Criando uma data, passando como
parâmetro uma String ISO 8601
1. new Date("2014-12-25");
2. // Wed Dec 24 2014 22:00:00 GMT-0200 (BRST)
3. new Date("2014-12-25T10:30:00");
4. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST)
5. new Date("2014-12-25T10:30:00Z");
6. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST)
7. new Date("2014-12-25T10:00:00-02:00");
8. // Thu Dec 25 2014 10:30:00 GMT-0200 (BRST)
Criando uma data, passando como
parâmetro a própria data
1. new Date(2014, 11, 25);
2. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST)
3. new Date(2014, 11, 25, 10, 30, 00);
4. // Thu Dec 25 2014 10:30:00 GMT-0200 (BRST)
Os meses são contados a partir de 0
Date API
• getDate – Retorna o dia
• getDay - Retorna o dia da semana
• getFullYear – Retorna o ano
• getHours – Retorna as horas
• getMilliseconds – Retorna os milisegundos
• getMinutes – Retorna os minutos
• getMonth – Retorna o mês
• getSeconds – Retorna os segundos
• getTime – Retorna o tempo em milisegundos
• toString - Retorna a data em String

JavaScript - Date

  • 1.
    JavaScript - Date RodrigoBranas – @rodrigobranas - http://www.agilecode.com.br
  • 2.
    Rodrigo Branas rodrigo.branas@agilecode.com.br http://www.agilecode.com.br Formado emCiências da Computação pela UFSC e MBA em Gerenciamento de Projetos pela FGV, é arquiteto de software há mais de 15 anos, especialista nas linguagens Java e JavaScript. É também autor do livro AngularJS Essentials e de diversos artigos da revista Java Magazine. Além disso, é professor e palestrante, tendo participado da formação de mais de 1.000 desenvolvedores de software e apresentado mais de 100 palestras em eventos no Brasil e no exterior. Fundador da Agile Code, uma empresa de treinamento e consultoria, atualmente é apresentador de um canal no YouTube sobre JavaScript, AngularJS e muito mais!
  • 3.
    Acompanhe a sérieDesvendando a linguagem JavaScript pelo YouTube em: http://www.youtube.com/rodrigobranas
  • 4.
    Apesar de parecermais simples, a data não é representada dessa forma...
  • 5.
  • 6.
    Ela é representadapela quantidade de milissegundos desde o início da Era Unix
  • 7.
    A Era Unix(Unix Epoch), ou Posix Time, teve início no dia 1 de janeiro de 1970 às 00:00:00 do Tempo Universal Coordenado, mais conhecido como UTC, referência a partir de onde se calculam os fusos horários do mundo inteiro.
  • 8.
    Existem 4 maneirasdiferentes de criar uma data!
  • 9.
    Criando uma data,a partir da função construtora de Date, sem parâmetros 1. var hoje = new Date();
  • 10.
    Invocando getTime paraacessar sua representação interna em milissegundo 1. var hoje = new Date(); 2. hoje.getTime(); // 1429446304392
  • 11.
    Criando uma data,passando como parâmetro o tempo em milissegundos 1. var natal = new Date(1419465600000);
  • 12.
    Espera, o Natalnão é em 25/12?
  • 13.
    O cálculo éfeito a partir de UTC ±00:00, também conhecido como Z, abreviação de Zulu Time
  • 14.
    A hora nomundo em relação a UTC
  • 15.
    Criando uma data,passando como parâmetro uma String 1. new Date("2014/12/25"); 2. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST) 3. new Date("12/25/2014"); 4. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST) 5. new Date("25/12/2014"); 6. // Invalid Date
  • 16.
    Cuidado, os formatosoficialmente aceitos são RFC 2822 ou ISO 8601
  • 17.
    RFC 2822 Thu Dec25 2014 10:30:00 GMT-0200 (BRST)
  • 18.
    Criando uma data,passando como parâmetro uma String RFC 2822 1. new Date("Thu Dec 25 2014"); 2. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST)
  • 19.
    Criando uma data,passando como parâmetro uma String RFC 2822 1. new Date("Thu Dec 25 2014"); 2. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST) 3. new Date("Thu Dec 25 2014 10:30:00"); 4. // Thu Dec 25 2014 10:30:00 GMT-0200 (BRST)
  • 20.
  • 21.
    Criando uma data,passando como parâmetro uma String ISO 8601 1. new Date("2014-12-25"); 2. // Wed Dec 24 2014 22:00:00 GMT-0200 (BRST)
  • 22.
    Criando uma data,passando como parâmetro uma String ISO 8601 1. new Date("2014-12-25"); 2. // Wed Dec 24 2014 22:00:00 GMT-0200 (BRST) 3. new Date("2014-12-25T10:30:00"); 4. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST)
  • 23.
    Criando uma data,passando como parâmetro uma String ISO 8601 1. new Date("2014-12-25"); 2. // Wed Dec 24 2014 22:00:00 GMT-0200 (BRST) 3. new Date("2014-12-25T10:30:00"); 4. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST) 5. new Date("2014-12-25T10:30:00Z"); 6. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST)
  • 24.
    Criando uma data,passando como parâmetro uma String ISO 8601 1. new Date("2014-12-25"); 2. // Wed Dec 24 2014 22:00:00 GMT-0200 (BRST) 3. new Date("2014-12-25T10:30:00"); 4. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST) 5. new Date("2014-12-25T10:30:00Z"); 6. // Thu Dec 25 2014 08:30:00 GMT-0200 (BRST) 7. new Date("2014-12-25T10:00:00-02:00"); 8. // Thu Dec 25 2014 10:30:00 GMT-0200 (BRST)
  • 25.
    Criando uma data,passando como parâmetro a própria data 1. new Date(2014, 11, 25); 2. // Thu Dec 25 2014 00:00:00 GMT-0200 (BRST) 3. new Date(2014, 11, 25, 10, 30, 00); 4. // Thu Dec 25 2014 10:30:00 GMT-0200 (BRST)
  • 26.
    Os meses sãocontados a partir de 0
  • 27.
    Date API • getDate– Retorna o dia • getDay - Retorna o dia da semana • getFullYear – Retorna o ano • getHours – Retorna as horas • getMilliseconds – Retorna os milisegundos • getMinutes – Retorna os minutos • getMonth – Retorna o mês • getSeconds – Retorna os segundos • getTime – Retorna o tempo em milisegundos • toString - Retorna a data em String

Notas do Editor