SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13diogoa21
 
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
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-phpdiogoa21
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggersflaviognm
 
[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no NetbeansLoiane Groner
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Jose Augusto Cintra
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Alphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Apresentação SQLServer
Apresentação SQLServerApresentação SQLServer
Apresentação SQLServerVanessa Finoto
 
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla EscolhaAlgoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla EscolhaEder Samaniego
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
introduction to flutter ppt - free download
introduction to flutter ppt - free downloadintroduction to flutter ppt - free download
introduction to flutter ppt - free downloadRajatPalankar2
 

La actualidad más candente (20)

Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13
 
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)
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
LDAP
LDAPLDAP
LDAP
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Alphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield AdministrationAlphorm.com Support de la Formation Stormshield Administration
Alphorm.com Support de la Formation Stormshield Administration
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Apresentação SQLServer
Apresentação SQLServerApresentação SQLServer
Apresentação SQLServer
 
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla EscolhaAlgoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
introduction to flutter ppt - free download
introduction to flutter ppt - free downloadintroduction to flutter ppt - free download
introduction to flutter ppt - free download
 

Similar a Java Date Manipulation

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
 

Similar a Java Date Manipulation (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
 

Más de 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
 

Más de 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
 

Java Date Manipulation

  • 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