You are on page 1of 13

Date

Calendar
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
1 de 13 24/04/2014 11:46
Instant
Instant
Duration
toNanos
toMillis getSeconds
Instant agora = Instant.now();
System.out.println(agora); //2014-04-08T10:02:52.036Z (formato ISO-8601)
Instant inicio = Instant.now();
rodaAlgoritmo();
Instant fim = Instant.now();

Duration duracao = Duration.between(inicio, fim);
long duracaoEmMilissegundos = duracao.toMillis();
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
2 de 13 24/04/2014 11:46
java.time
Date
Calendar
LocalDate
LocalDate
LocalDate of
Month DayOfWeek
LocalDate Period
LocalTime
LocalDateTime
LocalDate hoje = LocalDate.now();
System.out.println(hoje); //2014-04-08 (formato ISO-8601)
LocalDate emissaoRG = LocalDate.of(2000, 1, 15);
LocalDate homemNoEspaco = LocalDate.of(1961, Month.APRIL, 12);
LocalDate homemNaLua = LocalDate.of(1969, Month.MAY, 25);

Period periodo = Period.between(homemNoEspaco, homemNaLua);

System.out.printf("%s anos, %s ms e %s dias",
periodo.getYears() , periodo.getMonths(), periodo.getDays());
//8 anos, 1 ms e 13 dias
LocalTime horarioDeEntrada = LocalTime.of(9, 0);
System.out.println(horarioDeEntrada); //09:00
LocalDateTime agora = LocalDateTime.now();
LocalDateTime aberturaDaCopa = LocalDateTime.of(2014, Month.JUNE, 12, 17, 0);
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
3 de 13 24/04/2014 11:46
ZonedDateTime
ZonedDateTime
System.out.println(aberturaDaCopa); //2014-06-12T17:00 (formato ISO-8601)
ZoneId fusoHorarioDeSaoPaulo = ZoneId.of("America/Sao_Paulo");
ZonedDateTime agoraEmSaoPaulo = ZonedDateTime.now(fusoHorarioDeSaoPaulo);
System.out.println(agoraEmSaoPaulo); //2014-04-08T10:02:57.838-03:00[America/Sao_Paulo]
ZoneId fusoHorarioDeSaoPaulo = ZoneId.of("America/Sao_Paulo");
ZoneId fusoHorarioDeNovaYork = ZoneId.of("America/New_York");

LocalDateTime saidaDeSaoPauloSemFusoHorario =
LocalDateTime.of(2014, Month.APRIL, 4, 22, 30);
LocalDateTime chegadaEmNovaYorkSemFusoHorario =
LocalDateTime.of(2014, Month.APRIL, 5, 7, 10);

ZonedDateTime saidaDeSaoPauloComFusoHorario =
ZonedDateTime.of(saidaDeSaoPauloSemFusoHorario, fusoHorarioDeSaoPaulo);
System.out.println(saidaDeSaoPauloComFusoHorario); //2014-04-04T22:30-03:00[America/Sao_Paulo]

ZonedDateTime chegadaEmNovaYorkComFusoHorario =
ZonedDateTime.of(chegadaEmNovaYorkSemFusoHorario, fusoHorarioDeNovaYork);
System.out.println(chegadaEmNovaYorkComFusoHorario); //2014-04-05T07:10-04:00[America/New_York

Duration duracaoDoVoo =
Duration.between(saidaDeSaoPauloComFusoHorario, chegadaEmNovaYorkComFusoHorario);
System.out.println(duracaoDoVoo); //PT9H40M
ZoneId fusoHorarioDeSaoPaulo = ZoneId.of("America/Sao_Paulo");

LocalDateTime fimDoHorarioDeVerao2013SemFusoHorario =
LocalDateTime.of(2014, Month.FEBRUARY, 15, 23, 00);

ZonedDateTime fimDoHorarioVerao2013ComFusoHorario =
fimDoHorarioDeVerao2013SemFusoHorario.atZone(fusoHorarioDeSaoPaulo);
System.out.println(fimDoHorarioVerao2013ComFusoHorario); //2014-02-15T23:00-02:00[America/Sao_

ZonedDateTime maisUmaHora =
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
4 de 13 24/04/2014 11:46
MonthDay
YearMonth
toString
format
DateTimeFormatter
FormatStyle
Locale
plusDays
LocalDate
fimDoHorarioVerao2013ComFusoHorario.plusHours(1);
System.out.println(maisUmaHora); //2014-02-15T23:00-03:00[America/Sao_Paulo]
MonthDay natal = MonthDay.of(Month.DECEMBER, 25);
YearMonth copaDoMundo2014 = YearMonth.of(2014, Month.JUNE);
LocalDate hoje = LocalDate.now();
DateTimeFormatter formatador =
DateTimeFormatter.ofPattern("dd/MM/yyyy");
hoje.format(formatador); //08/04/2014
LocalDateTime agora = LocalDateTime.now();
DateTimeFormatter formatador = DateTimeFormatter
.ofLocalizedDateTime(FormatStyle.SHORT)
.withLocale(new Locale("pt", "br"));
agora.format(formatador); //08/04/14 10:02
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
5 de 13 24/04/2014 11:46
until
ChronoUnit.DAYS
TemporalAdjuster
TemporalAdjusters
TemporalAdjuster
LocalDate
java.time
Clock
LocalDate hoje = LocalDate.now();
LocalDate amanha = hoje.plusDays(1);
MonthDay natal = MonthDay.of(Month.DECEMBER, 25);
LocalDate natalDesseAno = natal.atYear(Year.now().getValue());
long diasAteONatal = LocalDate.now()
.until(natalDesseAno, ChronoUnit.DAYS);
TemporalAdjuster ajustadorParaProximaSexta = TemporalAdjusters.next(DayOfWeek.FRIDAY)
LocalDate proximaSexta = LocalDate.now().with(ajustadorParaProximaSexta);
LocalDate hoje = LocalDate.now(); //2014-04-08
hoje.plusDays(1);
System.out.println(hoje); //2014-04-08 (ainda hoje, e no amanh!)
LocalDate hoje = LocalDate.now();
LocalDate amanha = hoje.plusDays(1);
boolean mesmoObjeto = hoje == amanha; //false, j que imutvel
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
6 de 13 24/04/2014 11:46
java.time
Date Calendar
Calendar
Calendar calendar = Calendar.getInstance();
Instant instantAPartirDoCalendar = calendar.toInstant();
Date dateAPartirDoInstant = Date.from(instantAPartirDoCalendar);
Instant instantAPartirDaDate = dateAPartirDoInstant.toInstant();
Calendar calendario =
new Calendar.Builder()
.setDate(2014, Calendar.APRIL, 8)
.setTimeOfDay(10, 2, 57)
.setTimeZone(TimeZone.getTimeZone("America/Sao_Paulo"))
.setLocale(new Locale("pt", "br"))
.build();
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
7 de 13 24/04/2014 11:46
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
8 de 13 24/04/2014 11:46
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
9 de 13 24/04/2014 11:46
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
10 de 13 24/04/2014 11:46
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
11 de 13 24/04/2014 11:46

Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...


12 de 13 24/04/2014 11:46
Conhea a nova API de datas do Java 8 | blog.caelum.com.br http://blog.caelum.com.br/conheca-a-nova-api-de-datas-do-java-8/?ut...
13 de 13 24/04/2014 11:46

You might also like