Tecnologia em Sistemas para Internet - IFMSAula Extra – Manipulação de Datas em Java             Tópicos em Programação   ...
O que veremos nesta aula?●   As classes Date e Calendar da linguagem    Java●   Conversão de Date para String e vice e ver...
A classe Date●   A JDK oferece a classe Date do pacote    java.util para o armazenamento e    manipulação de datas●   A cl...
Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril ...
Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril ...
Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril ...
Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril ...
Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril ...
Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril ...
Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril ...
Exemplo 2: Pegando outra data explicitamente             com a classe Calendar/* * Para pegar uma data que não seja a atua...
Exemplo 3: Comparando datasDate data1 = new Date();Calendar calendario = Calendar.getInstance();calendario.set(1991, 1, 27...
Exemplo 3: Comparando datasDate data1 = new Date();Calendar calendario = Calendar.getInstance();calendario.set(1991, 1, 27...
Exemplo 3: Comparando datasDate data1 = new Date();Calendar calendario = Calendar.getInstance();calendario.set(1991, 1, 27...
Exemplo 4: Conversão de Date para StringDate data = new Date();/* * Conversão simples de Date para   * String */String str...
Exemplo 4: Conversão de Date para StringDate data = new Date();/* * A classe SimpleDateFormat do pacote java.text oferece ...
Exemplo 4: Conversão de Date para StringDate data = new Date();/* * A classe SimpleDateFormat do pacote java.text oferece ...
Exemplo 4: Conversão de Date para StringDate data = new Date();/* * A classe SimpleDateFormat do pacote java.text oferece ...
Exemplo 4: Conversão de Date para StringDate data = new Date();/* * A classe SimpleDateFormat do pacote java.text  * ofere...
Entendendo as máscaras de datad → dia do mês                          h → hora em am/pm (1 a 12)D → dia do ano            ...
Exemplo 5: Conversão de String para DateString stringData = "18/09/2011";SimpleDateFormat formatadorDeDatas = new SimpleDa...
Exemplo 6: Pegando partes da dataCalendar calendar = Calendar.getInstance();/* * O método get da classe Calendar retorna a...
Constantes da classe Calendar●   Calendar.AM_PM → período do dia (am ou pm)●   Calendar.DAY_OF_MONTH → dia do mês●   Calen...
Próximos SlideShares
Carregando em…5
×

Manipulação de Datas em Java

6.620 visualizações

Publicada em

Publicada em: Tecnologia
2 comentários
3 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
6.620
No SlideShare
0
A partir de incorporações
0
Número de incorporações
432
Ações
Compartilhamentos
0
Downloads
111
Comentários
2
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Manipulação de Datas em Java

  1. 1. Tecnologia em Sistemas para Internet - IFMSAula Extra – Manipulação de Datas em Java Tópicos em Programação Prof.º Msc. Sidney Roberto de Sousa
  2. 2. O que veremos nesta aula?● As classes Date e Calendar da linguagem Java● Conversão de Date para String e vice e versa● Manipulação de datas de máscaras variadas● Trabalhando com dias, meses, anos, horas, minutos e segundos com o tipo Date Tec. em Sistemas para Internet - IFMS 2
  3. 3. A classe Date● A JDK oferece a classe Date do pacote java.util para o armazenamento e manipulação de datas● A classe Date permite manipular datas em diversos formatos, podendo ser utilizada de forma coerente em diversos padrões mundiais Tec. em Sistemas para Internet - IFMS 3
  4. 4. Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril de 2013, * exibirá a string abaixo: * Thu Apr 18 00:02:29 AMT 2013 */ Tec. em Sistemas para Internet - IFMS 4
  5. 5. Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril de 2013, * exibirá a string abaixo: * Thu Apr 18 00:02:29 AMT 2013 */ Dia da semana (quinta-feira) Tec. em Sistemas para Internet - IFMS 5
  6. 6. Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril de 2013, * exibirá a string abaixo: * Thu Apr 18 00:02:29 AMT 2013 */ Mês (abril) Tec. em Sistemas para Internet - IFMS 6
  7. 7. Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril de 2013, * exibirá a string abaixo: * Thu Apr 18 00:02:29 AMT 2013 */ Dia do mês Tec. em Sistemas para Internet - IFMS 7
  8. 8. Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril de 2013, * exibirá a string abaixo: * Thu Apr 18 00:02:29 AMT 2013 */ Horário atual Tec. em Sistemas para Internet - IFMS 8
  9. 9. Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril de 2013, * exibirá a string abaixo: * Thu Apr 18 00:02:29 AMT 2013 */ Sistema de tempo utilizado (no caso, Amazon Time) Tec. em Sistemas para Internet - IFMS 9
  10. 10. Exemplo 1: Pegando a data atualDate dataAtual = new Date();System.out.print(dataAtual);/* Se executado no dia 18 de abril de 2013, * exibirá a string abaixo: * Thu Apr 18 00:02:29 AMT 2013 */ Ano Tec. em Sistemas para Internet - IFMS 10
  11. 11. Exemplo 2: Pegando outra data explicitamente com a classe Calendar/* * Para pegar uma data que não seja a atual de forma explícita, é * preciso utilizar antes a classe Calendar do pacote java.util */Calendar calendario = Calendar.getInstance();/* * O método set da classe Calendar recebe 3 argumentos: ano, mês (valor * entre [0..11], respectivamente [Janeiro..Dezembro]) e dia do mês */calendario.set(2010, 11, 23);Date outraData = calendario.getTime();System.out.println(outraData);/* * Imprime na tela: Thu Dec 23 00:24:03 AMST 2010 */ Tec. em Sistemas para Internet - IFMS 11
  12. 12. Exemplo 3: Comparando datasDate data1 = new Date();Calendar calendario = Calendar.getInstance();calendario.set(1991, 1, 27);Date data2 = calendario.getTime();/* * O método after da classe Date verifica se a data * do objeto atual vem depois da data do argumento */boolean dataUmEMaisAtual = data1.after(data2);System.out.println(dataUmEMaisAtual); // Imprime true Tec. em Sistemas para Internet - IFMS 12
  13. 13. Exemplo 3: Comparando datasDate data1 = new Date();Calendar calendario = Calendar.getInstance();calendario.set(1991, 1, 27);Date data2 = calendario.getTime();/* * O método before da classe Date verifica se a data * do objeto atual vem antes da data do argumento */boolean dataUmEMaisAtual = data1.before(data2);System.out.println(dataUmEMaisAtual); // Imprime false Tec. em Sistemas para Internet - IFMS 13
  14. 14. Exemplo 3: Comparando datasDate data1 = new Date();Calendar calendario = Calendar.getInstance();calendario.set(1991, 1, 27);Date data2 = calendario.getTime();/* * O método equals da classe Date verifica se a data * do objeto atual é igual à data do argumento */boolean datasSaoIguais = data1.equals(data2);System.out.println(datasSaoIguais); // Imprime false Tec. em Sistemas para Internet - IFMS 14
  15. 15. Exemplo 4: Conversão de Date para StringDate data = new Date();/* * Conversão simples de Date para   * String */String stringData = "" + data;System.out.println(stringData); Tec. em Sistemas para Internet - IFMS 15
  16. 16. Exemplo 4: Conversão de Date para StringDate data = new Date();/* * A classe SimpleDateFormat do pacote java.text oferece meios  * para a formatação de datas em vários padrões. */SimpleDateFormat formatadorDeDatas = new SimpleDateFormat("dd/MM/yyyy");String stringData = formatadorDeDatas.format(data);// Exibe a data no formato dd/mm/aaaaSystem.out.println(stringData); Tec. em Sistemas para Internet - IFMS 16
  17. 17. Exemplo 4: Conversão de Date para StringDate data = new Date();/* * A classe SimpleDateFormat do pacote java.text oferece meios  * para a formatação de datas em vários padrões. */SimpleDateFormat formatadorDeDatas = new SimpleDateFormat("yyyy­MM­dd");String stringData = formatadorDeDatas.format(data);// Exibe a data no formato aaaa­mm­ddSystem.out.println(stringData); Tec. em Sistemas para Internet - IFMS 17
  18. 18. Exemplo 4: Conversão de Date para StringDate data = new Date();/* * A classe SimpleDateFormat do pacote java.text oferece meios  * para a formatação de datas em vários padrões. */SimpleDateFormat formatadorDeDatas = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");String stringData = formatadorDeDatas.format(data);// Exibe a data e horário no formato dd/mm/aaaa hh:mm:ssSystem.out.println(stringData); Tec. em Sistemas para Internet - IFMS 18
  19. 19. Exemplo 4: Conversão de Date para StringDate data = new Date();/* * A classe SimpleDateFormat do pacote java.text  * oferece meios para a formatação de datas em vários  * padrões. */SimpleDateFormat formatadorDeDatas = new SimpleDateFormat("hh:mm:ss");String stringData = formatadorDeDatas.format(data);// Exibe o horário atualSystem.out.println(stringData); Tec. em Sistemas para Internet - IFMS 19
  20. 20. Entendendo as máscaras de datad → dia do mês h → hora em am/pm (1 a 12)D → dia do ano H → hora do dia (0 a 23)F → dia da semana no mês k → hora do dia (1 a 24)a → marcador de am/pm K → hora em am/pm (0 a 11)w → semana do ano s → segundosW → semana do mês S → milissegundosM → mês z → Sistema de tempo (general timem → minuto zone)y → ano Z → Sistema de tempo (RFC 822 time zone) G → designador de era (ex.: AD) Tec. em Sistemas para Internet - IFMS 20
  21. 21. Exemplo 5: Conversão de String para DateString stringData = "18/09/2011";SimpleDateFormat formatadorDeDatas = new SimpleDateFormat("dd/MM/yyyy");Date data;try {    /*     * O método parse da classe SimpleDateFormat realiza a conversão de     * uma string contendo a informação de uma data específica em um     * objeto Date. O método pode lançar uma exceção caso a string     * informada não possua a informação correta de uma data. Note que neste     * exemplo a máscara utilizada no formatador é compatível com a data contida     * na variável stringData. Se a máscara não for compatível com a informação da      * data correspondente, o método parse lançará uma exceção.     */    data = formatadorDeDatas.parse(stringData);} catch (ParseException e) {    e.printStackTrace();}System.out.println(data); Tec. em Sistemas para Internet - IFMS 21
  22. 22. Exemplo 6: Pegando partes da dataCalendar calendar = Calendar.getInstance();/* * O método get da classe Calendar retorna a informação desejada * referente à data armazenada no objeto Calendar. No próximo slide, * veja as constantes referentes a cada tipo de informação. */int diaDoMes = calendar.get(Calendar.DAY_OF_MONTH);// Lembre­se que o número do mês varia entre [0..1]int numeroMes = calendar.get(Calendar.MONTH) + 1;int ano = calendar.get(Calendar.YEAR);System.out.println(diaDoMes + "/" + numeroMes + "/" + ano); Tec. em Sistemas para Internet - IFMS 22
  23. 23. Constantes da classe Calendar● Calendar.AM_PM → período do dia (am ou pm)● Calendar.DAY_OF_MONTH → dia do mês● Calendar.DAY_OF_WEEK → dia da semana● Calendar.DAY_OF_WEEK_IN_MONTH → dia da semana no mês● Calendar.DAY_OF_YEAR → dia do ano● Calendar.ERA → designação de era● Calendar.HOUR → hora (0 a 11)● Calendar.HOUR_OF_DAY → hora (0 a 23)● Calendar.MILLISECOND → milissegundos● Calendar.MINUTE → minutos● Calendar.MONTH → mês● Calendar.SECOND → segundos● Calendar.WEEK_OF_MONTH → semana da mês● Calendar.WEEK_OF_YEAR → semana do ano● Calendar.YEAR → ano Tec. em Sistemas para Internet - IFMS 23

×