Sei sulla pagina 1di 17

Manipulação de datas

em Java

IF Goiano campus Morrinhos


Técnico em Informática Integrado ao Ensino Médio
Linguagens e Técnicas de Programação
1

Prof. Me. Norton Guimarães


O que veremos?
 Manipulação de datas
 java.util.Date;

 java.util.Calendar;

 java.util.GregorianCalendar;

 java.util.Locale

 Máscaras de datas
 concatenação de string
 java.text.SimpleDateFormat

 java.text.DateFormat

Técnico em Informática – IF Goiano campus Morrinhos 2


Manipulação de datas

Técnico em Informática – IF Goiano campus Morrinhos 3


Classe java.util.Date

A JDK (Java Development Kit), fornece as


classes java.util.Date para o
armazenamento e manipulação de datas.
A classe Date, permite manipular datas em
diversos formatos, podendo ser utilizada
em diversos padrões mundiais.

Técnico em Informática – IF Goiano campus Morrinhos 4


Imprimir data com java.util.Date

import java.util.Date;

public class Funcionarios {


public void imprimirDataHoje() {
Date dataHoje = new Date();
System.out.println(dataHoje);
}
}

Técnico em Informática – IF Goiano campus Morrinhos 5


Imprimir data com java.util.Calendar
import java.util.Date;
Import java.util.Calendar;

public class Funcionarios {


public void imprimirDataCalendar(){
Calendar calendario = Calendar.getInstance();
calendario.set(2015, 11, 12);

Date dataCalendario = calendario.getTime();

System.out.println(dataCalendario);
}
}
Técnico em Informática – IF Goiano campus Morrinhos 6
Imprimir data com java.util.GregorianCalendar
//Mostra o dia
Import java.util.GregorianCalendar;
System.out.println(dataGC.get(dataGC.DATE));
public class Funcionarios { //Mostra o Mês: 1 = Janeiro, 2 = Fevereiro, etc

public void imprimirDataGregoriana() { System.out.println(dataGC.get(dataGC.MONTH));

//Mostra o ano
GregorianCalendar dataGC = new GregorianCalendar();
System.out.println(dataGC.get(dataGC.YEAR));
//Mostra o dia da semana: 1 = Domingo, etc
System.out.println(dataGC.get(dataGC.DAY_OF_WEEK));
//Verifica se o ano é bissexto
System.out.println(dataGC.isLeapYear(2009));
//Atribui uma data diferente da atual
dataGC.set(2015, 11, 12);

}
}

Técnico em Informática – IF Goiano campus Morrinhos 7


Comparar Datas
import java.util.Date;
Import java.util.Calendar;

public class Funcionarios {


public void compararDatas(){
Date dataUm = new Date();
Calendar calendario = Calendar.getInstance();
calendario.set(2015, 10, 25);
Date dataDois = calendario.getTime();

boolean dataSaoIguais = dataUm.equals(dataDois);


boolean dataDoisPosterior = dataUm.after(dataDois);
boolean dataDoisAnterior = dataUm.before(dataDois);
}
}

Técnico em Informática – IF Goiano campus Morrinhos 8


Internacionalização de datas
import java.util.Calendar;
import java.util.Locale;
import java.text.DateFormat;
import java.util.Date;
public class Funcionarios {
public void dataInternaciona() {
Calendar c = Calendar.getInstance();
Date data = c.getTime();

Locale brasil = new Locale("pt", "BR"); //Retorna do país e a língua


Locale eua = Locale.US;

DateFormat f2 = DateFormat.getDateInstance(DateFormat.FULL, brasil);


System.out.println("Data e hora brasileira: " + f2.format(data));

DateFormat f3 = DateFormat.getDateInstance(DateFormat.FULL, eua);


System.out.println("Data e hora americana: " + f3.format(data));

}
}
Técnico em Informática – IF Goiano campus Morrinhos 9
Máscaras de datas

Técnico em Informática – IF Goiano campus Morrinhos 10


Conversão de data para string com
concatenação
import java.util.Date;
public class Funcionarios {
public void imprimeData(){
Date dataUm = new Date();
String dataString = “Data: ” + dataUm;
System.out.printiln(dataString);
}
}

Técnico em Informática – IF Goiano campus Morrinhos 11


Formatação de data com a classe
java.text.SimpleDateFormat
import java.util.Date;
Import java.text.SimpleDateFormat;
public class Funcionarios {
public void formataData(){
Date dataUm = new Date();
SimpleDateFormat formataDatas = new SimpleDateFormat("dd/MM/yyyy");
//Outras máscaras podem ser fornecidas: “yyyy-MM-dd”, “dd/MM/yyyy hh:mm:ss”, “hh:mm:ss”.
String dataFormatada = formataDatas.format(dataUm);
System.out.println(dataFormatada);
}
}

Técnico em Informática – IF Goiano campus Morrinhos 12


Legenda das Máscaras de datas

 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
 m  minuto
 y  ano

Técnico em Informática – IF Goiano campus Morrinhos 13


Formatação Date com a classe
java.text.DateFormat
import java.util.Date;
Import java.text.DateFormat;
import java.util.Calendar;
public class Funcionarios {
public void converterStringParaData(){
Calendar c = Calendar.getInstance();

c.set(2015, Calendar.FEBRUARY, 21);

Date data = c.getTime();

DateFormat formataData = DateFormat.getDateInstance(); //Formata a data

System.out.println("Data atual com formatação: "+ formataData.format(data));

DateFormat dtHora = DateFormat.getDateTimeInstance(); //Formata Data e Hora

System.out.println(dtHora.format(data));

}
}Técnico em Informática – IF Goiano campus Morrinhos 14
Conversão de string para Date com a
classe java.text.SimpleDateFormat
import java.util.Date;
Import java.text.SimpleDateFormat;
public class Funcionarios {
public void converterStringParaData(){
String dataString = "15/11/2014";
SimpleDateFormat formataDatas = new SimpleDateFormat("dd/MM/yyyy");
Date data = null;
try {
data = formataDatas.parse(dataString);
} catch (ParseException ex) {
System.out.println(ex);
}
System.out.println(data);

}
}

Técnico em Informática – IF Goiano campus Morrinhos 15


Diferenças entre datas
import java.util.Date;
import java.text.SimpleDateFormat;
public class Funcionarios {
public void diferencaEntreDatas() {
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
try {
Date date1 = sdf.parse("05/11/2015");
Date date2 = sdf.parse("06/11/2015");
long differenceMilliSeconds = date2.getTime() - date1.getTime();
System.out.println("diferenca em milisegundos: " + differenceMilliSeconds);
System.out.println("diferenca em segundos: " + (differenceMilliSeconds / 1000));
System.out.println("diferenca em minutos: " + (differenceMilliSeconds / 1000 / 60));
System.out.println("diferenca em horas: " + (differenceMilliSeconds / 1000 / 60 / 60));
System.out.println("diferenca em dias: " + (differenceMilliSeconds / 1000 / 60 / 60 / 24));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Técnico em Informática – IF Goiano campus Morrinhos 16
Referências

 DEITEL, H. M.; DEITEL, P. J. Java: como programar. 6. ed. São Paulo, SP:
Pearson, 2005. xl, 1110 p. ISBN 9798576050193.
 HANSEN, Vitor Yudi. Manipulando datas em java. DevMedia. Disponível em:
http://www.devmedia.com.br/manipulando-datas-em-java/21765. Acesso
em: 11 nov. 2015.
 PALMEIRA, Thiago Vinícius Varallo. DevMedia. Disponível em:
http://www.devmedia.com.br/trabalhando-com-as-classes-date-calendar-e-
simpledateformat-em-java/27401. Acesso em: 11 nov. 2015.
 SANTOS, Rafael. Introdução à programação orientada a objetos usando Java.
Rio de Janeiro, RJ: Elsevier, 2003. 319 p. ISBN 9788535212068.
 SOUSA, Sidney Roberto de. Aula extra – Manipulação de datas em java. Mato
Grosso. Disponível em: http://pt.slideshare.net/darknessdescend/manipulao-
de-datas-em-java. Acesso em: 11 nov. 2015.
Técnico em Informática – IF Goiano campus Morrinhos 17

Potrebbero piacerti anche