SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Tecnologia em Sistemas para Internet - IFMS




Aula Extra – Manipulação de Datas em Java


             Tópicos em Programação
           Prof.º Msc. Sidney Roberto de Sousa
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
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
Exemplo 1: Pegando a data atual

Date 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
Exemplo 1: Pegando a data atual

Date 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
Exemplo 1: Pegando a data atual

Date 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
Exemplo 1: Pegando a data atual

Date 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
Exemplo 1: Pegando a data atual

Date 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
Exemplo 1: Pegando a data atual

Date 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
Exemplo 1: Pegando a data atual

Date 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
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
Exemplo 3: Comparando datas
Date 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
Exemplo 3: Comparando datas
Date 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
Exemplo 3: Comparando datas
Date 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
Exemplo 4: Conversão de Date para String

Date data = new Date();
/*
 * Conversão simples de Date para  
 * String
 */
String stringData = "" + data;
System.out.println(stringData);


             Tec. em Sistemas para Internet - IFMS   15
Exemplo 4: Conversão de Date para String

Date 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/aaaa
System.out.println(stringData);




                            Tec. em Sistemas para Internet - IFMS          16
Exemplo 4: Conversão de Date para String

Date 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­dd
System.out.println(stringData);




                            Tec. em Sistemas para Internet - IFMS          17
Exemplo 4: Conversão de Date para String

Date 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:ss
System.out.println(stringData);




                             Tec. em Sistemas para Internet - IFMS          18
Exemplo 4: Conversão de Date para String

Date 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 atual
System.out.println(stringData);




                           Tec. em Sistemas para Internet - IFMS   19
Entendendo as máscaras de data

d → 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 → segundos
W → semana do mês                       S → milissegundos
M → mês                                 z → Sistema de tempo (general time
m → 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
Exemplo 5: Conversão de String para Date

String 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
Exemplo 6: Pegando partes da data
Calendar 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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Victor Rentea
 
Jetpack Compose - Android’s modern toolkit for building native UI
Jetpack Compose - Android’s modern toolkit for building native UIJetpack Compose - Android’s modern toolkit for building native UI
Jetpack Compose - Android’s modern toolkit for building native UIGilang Ramadhan
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em JavaDaniel Brandão
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a ObjetoFábio Elísio
 
Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTMLLeonardo Soares
 
From framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvFrom framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvCodelyTV
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java Evandro Júnior
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array ListArthur Emanuel
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaLoiane Groner
 
[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36Loiane Groner
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1Bruno Catão
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com AngularElmano Cavalcanti
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 

Was ist angesagt? (20)

Diagramas de pacotes
Diagramas de pacotesDiagramas de pacotes
Diagramas de pacotes
 
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
Evolving a Clean, Pragmatic Architecture at JBCNConf 2019
 
Jetpack Compose - Android’s modern toolkit for building native UI
Jetpack Compose - Android’s modern toolkit for building native UIJetpack Compose - Android’s modern toolkit for building native UI
Jetpack Compose - Android’s modern toolkit for building native UI
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a Objeto
 
Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTML
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
From framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvFrom framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytv
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java
 
Java: Composicao e Array List
Java: Composicao e Array ListJava: Composicao e Array List
Java: Composicao e Array List
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
 
[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1
 
Fundamentos do java
Fundamentos do javaFundamentos do java
Fundamentos do java
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 

Ähnlich wie Manipulação de Datas em Java

Tecnicas avancadas de_bases_de_dados_bas (2)
Tecnicas avancadas de_bases_de_dados_bas (2)Tecnicas avancadas de_bases_de_dados_bas (2)
Tecnicas avancadas de_bases_de_dados_bas (2)Erison Barros
 
Manipulação de datas em java
Manipulação de datas em javaManipulação de datas em java
Manipulação de datas em javaNorton Guimarães
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesRADILSON RIPARDO DE FRETIAS
 
Data Binding Android - Levi Saturnino
Data Binding  Android - Levi SaturninoData Binding  Android - Levi Saturnino
Data Binding Android - Levi SaturninoLevi Saturnino
 
Tutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataTutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataRicardo Schuch
 
Tutorial_PostGis
Tutorial_PostGisTutorial_PostGis
Tutorial_PostGisANAMSIGOT
 
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de DadosParadigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de DadosAdriano Teixeira de Souza
 
Projeto de Controlo de Silo para Parqueamento
Projeto de Controlo de Silo para ParqueamentoProjeto de Controlo de Silo para Parqueamento
Projeto de Controlo de Silo para ParqueamentoHugo Rodrigues
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasRodrigo Kiyoshi Saito
 
Portfólio ADS- sem 4 - atividade em grupo
Portfólio ADS- sem 4 - atividade em grupoPortfólio ADS- sem 4 - atividade em grupo
Portfólio ADS- sem 4 - atividade em grupoAdilson Nascimento
 

Ähnlich wie Manipulação de Datas em Java (20)

Java6
Java6Java6
Java6
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
Tecnicas avancadas de_bases_de_dados_bas (2)
Tecnicas avancadas de_bases_de_dados_bas (2)Tecnicas avancadas de_bases_de_dados_bas (2)
Tecnicas avancadas de_bases_de_dados_bas (2)
 
Manipulação de datas em java
Manipulação de datas em javaManipulação de datas em java
Manipulação de datas em java
 
Usando a data grid wpf
Usando a data grid wpfUsando a data grid wpf
Usando a data grid wpf
 
Algoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizesAlgoritmo e estruturas de dados operações com matrizes
Algoritmo e estruturas de dados operações com matrizes
 
Resumo c#
Resumo c#Resumo c#
Resumo c#
 
Apostila aed
Apostila aedApostila aed
Apostila aed
 
Data Binding Android - Levi Saturnino
Data Binding  Android - Levi SaturninoData Binding  Android - Levi Saturnino
Data Binding Android - Levi Saturnino
 
Tutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataTutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stata
 
Tutorial_PostGis
Tutorial_PostGisTutorial_PostGis
Tutorial_PostGis
 
aula01-TDA (1).ppt
aula01-TDA (1).pptaula01-TDA (1).ppt
aula01-TDA (1).ppt
 
Classes e Objetos
Classes e ObjetosClasses e Objetos
Classes e Objetos
 
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de DadosParadigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
 
Projeto de Controlo de Silo para Parqueamento
Projeto de Controlo de Silo para ParqueamentoProjeto de Controlo de Silo para Parqueamento
Projeto de Controlo de Silo para Parqueamento
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelas
 
TCC Rhamon
TCC RhamonTCC Rhamon
TCC Rhamon
 
Aula 7
Aula 7 Aula 7
Aula 7
 
9 structs e ponteiros
9   structs e ponteiros9   structs e ponteiros
9 structs e ponteiros
 
Portfólio ADS- sem 4 - atividade em grupo
Portfólio ADS- sem 4 - atividade em grupoPortfólio ADS- sem 4 - atividade em grupo
Portfólio ADS- sem 4 - atividade em grupo
 

Mehr von Sidney Roberto

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stackSidney Roberto
 
Personagens negros na cultura nerd
Personagens negros na cultura nerdPersonagens negros na cultura nerd
Personagens negros na cultura nerdSidney Roberto
 
Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBSidney Roberto
 
Regulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVRegulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVSidney Roberto
 
Regulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVRegulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVSidney Roberto
 
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQRegulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQSidney Roberto
 
Tecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoTecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoSidney Roberto
 
Introdução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonIntrodução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonSidney Roberto
 
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaPalestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaSidney Roberto
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaSidney Roberto
 
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQRegulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQSidney Roberto
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidSidney Roberto
 
Minha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroMinha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroSidney Roberto
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação ISidney Roberto
 
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Sidney Roberto
 
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)Sidney Roberto
 

Mehr von Sidney Roberto (20)

Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Personagens negros na cultura nerd
Personagens negros na cultura nerdPersonagens negros na cultura nerd
Personagens negros na cultura nerd
 
Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDB
 
Regulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IVRegulamento da batalha campal do DCN IV
Regulamento da batalha campal do DCN IV
 
Regulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IVRegulamento dos concursos de cosplay e cospobre do DCN IV
Regulamento dos concursos de cosplay e cospobre do DCN IV
 
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQRegulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
Regulamento Cosplay e Cospobre - DCN 3 IFMS-AQ
 
Tecnologias e Mercado de Trabalho
Tecnologias e Mercado de TrabalhoTecnologias e Mercado de Trabalho
Tecnologias e Mercado de Trabalho
 
Introdução à Programação de Computadores com Python
Introdução à Programação de Computadores com PythonIntrodução à Programação de Computadores com Python
Introdução à Programação de Computadores com Python
 
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS AquidauanaPalestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
Palestra de boas vindas aos estudantes do curso TSI do IFMS Aquidauana
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciência
 
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQRegulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
Regulamento do Concurso de Cosplay - Dia da Cultura Nerd IFMS-AQ
 
Tutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para AndroidTutorial - Como criar sua primeira app para Android
Tutorial - Como criar sua primeira app para Android
 
Minha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiroMinha opinião sobre o sistema educacional de base brasileiro
Minha opinião sobre o sistema educacional de base brasileiro
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação I
 
Listas (parte 2 de 3)
Listas (parte 2 de 3)Listas (parte 2 de 3)
Listas (parte 2 de 3)
 
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
Vamos aprender algo diferente? Introdução à linguagem Python (parte 2)
 
Listas (parte 1)
Listas (parte 1)Listas (parte 1)
Listas (parte 1)
 
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
Vamos aprender algo diferente? Introdução à linguagem Python (aula 1)
 
Fatores Humanos
Fatores HumanosFatores Humanos
Fatores Humanos
 
Laços de Repetição
Laços de RepetiçãoLaços de Repetição
Laços de Repetição
 

Kürzlich hochgeladen

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 

Kürzlich hochgeladen (8)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 

Manipulação de Datas em Java

  • 1. Tecnologia em Sistemas para Internet - IFMS Aula Extra – Manipulação de Datas em Java Tópicos em Programação Prof.º Msc. Sidney Roberto de Sousa
  • 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. 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. Exemplo 1: Pegando a data atual Date 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. Exemplo 1: Pegando a data atual Date 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. Exemplo 1: Pegando a data atual Date 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. Exemplo 1: Pegando a data atual Date 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. Exemplo 1: Pegando a data atual Date 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. Exemplo 1: Pegando a data atual Date 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. Exemplo 1: Pegando a data atual Date 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. 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. Exemplo 3: Comparando datas Date 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. Exemplo 3: Comparando datas Date 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. Exemplo 3: Comparando datas Date 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. Exemplo 4: Conversão de Date para String Date 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. Exemplo 4: Conversão de Date para String Date 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/aaaa System.out.println(stringData); Tec. em Sistemas para Internet - IFMS 16
  • 17. Exemplo 4: Conversão de Date para String Date 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­dd System.out.println(stringData); Tec. em Sistemas para Internet - IFMS 17
  • 18. Exemplo 4: Conversão de Date para String Date 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:ss System.out.println(stringData); Tec. em Sistemas para Internet - IFMS 18
  • 19. Exemplo 4: Conversão de Date para String Date 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 atual System.out.println(stringData); Tec. em Sistemas para Internet - IFMS 19
  • 20. Entendendo as máscaras de data d → 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 → segundos W → semana do mês S → milissegundos M → mês z → Sistema de tempo (general time m → 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. Exemplo 5: Conversão de String para Date String 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. Exemplo 6: Pegando partes da data Calendar 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. 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