package ar.com.javacuriosities.time; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.Month; import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; /* * La clase DateTimeFormatter nos permite configurar formatos validos para el parseo o formateo de una fecha, además * contiene varios formatos predefinidos. * Esta clase es immutable y thread safe * * Parse: Operación para convertir un String en una Fecha * Format: Operación para convertir un Fecha en una String */ public class Lesson09ParseAndFormat { public static void main(String[] args) { String input = "20100102"; // Parseamos un String a un Fecha con el formato básico yyyyMMdd LocalDate basicIsoDate = LocalDate.parse(input, DateTimeFormatter.BASIC_ISO_DATE); System.out.println(basicIsoDate); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMM d yyyy"); input = "Jan 5 2014"; LocalDate date = LocalDate.parse(input, formatter); System.out.println(date); LocalDateTime leaving = LocalDateTime.of(2013, Month.JULY, 20, 19, 30); ZoneId leavingZone = ZoneId.of("America/Los_Angeles"); ZonedDateTime departureFlight = ZonedDateTime.of(leaving, leavingZone); DateTimeFormatter format = DateTimeFormatter.ofPattern("MMM d yyyy hh:mm a"); String departureTime = departureFlight.format(format); System.out.println("Leaving at: " + departureTime + " (" + leavingZone + ")"); } }