apuntes:fechas
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
apuntes:fechas [2019/02/16 11:29] – Santiago Faci | apuntes:fechas [2023/06/04 21:18] (current) – [Conversiones de fechas (Date <-> LocalDate)] Santiago Faci | ||
---|---|---|---|
Line 99: | Line 99: | ||
System.out.println(fechaHoy.plus(Period.ofDays(35))); | System.out.println(fechaHoy.plus(Period.ofDays(35))); | ||
</ | </ | ||
+ | |||
+ | === Formatear una fecha === | ||
También se puede formatear el valor de la fecha para que pueda ser representado como una cadena de texto y viceversa: | También se puede formatear el valor de la fecha para que pueda ser representado como una cadena de texto y viceversa: | ||
Line 105: | Line 107: | ||
// Pasa la fecha a una representación en String | // Pasa la fecha a una representación en String | ||
String cadenaFecha = fechaHoy.format(DateTimeFormatter.ofPattern(" | String cadenaFecha = fechaHoy.format(DateTimeFormatter.ofPattern(" | ||
+ | |||
+ | === Parsear una fecha === | ||
// Pasa la representación en String a un valor de fecha | // Pasa la representación en String a un valor de fecha | ||
Line 112: | Line 116: | ||
Se pueden ver más ejemplos de formatos de fecha y patrones en la API de Java correspondiente a | Se pueden ver más ejemplos de formatos de fecha y patrones en la API de Java correspondiente a | ||
la [[https:// | la [[https:// | ||
+ | |||
+ | === Comparar dos fechas === | ||
También es posible comparar dos fechas entre ellas directamente para saber cuál es anterior/ | También es posible comparar dos fechas entre ellas directamente para saber cuál es anterior/ | ||
Line 136: | Line 142: | ||
// Puedo verla en dias, meses, . . . | // Puedo verla en dias, meses, . . . | ||
System.out.println(periodo.getDays()); | System.out.println(periodo.getDays()); | ||
+ | </ | ||
+ | |||
+ | ==== Conversiones de fechas (Date <-> LocalDate) ==== | ||
+ | |||
+ | === De java.util.Date a LocalDate === | ||
+ | |||
+ | <code java> | ||
+ | fechaDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate() | ||
+ | </ | ||
+ | |||
+ | === De java.util.Date a LocalDateTime === | ||
+ | |||
+ | <code java> | ||
+ | Instant.ofEpochMilli(fechaDate.getTime()) | ||
+ | .atZone(ZoneId.systemDefault()) | ||
+ | .toLocalDateTime(); | ||
+ | </ | ||
+ | |||
+ | === De LocalDateTime a java.util.Date === | ||
+ | |||
+ | <code java> | ||
+ | java.util.Date.from(fechaLocalDateTime | ||
+ | .atStartOfDay() | ||
+ | .atZone(ZoneId.systemDefault()) | ||
+ | .toInstant(); | ||
+ | </ | ||
+ | |||
+ | === De LocalDate a java.util.Date === | ||
+ | |||
+ | <code java> | ||
+ | java.util.Date.from(fechaLocalDate.atZone(ZoneId.systemDefault()) | ||
+ | .toInstant(); | ||
+ | </ | ||
+ | |||
+ | === De LocalDate a java.sql.Date === | ||
+ | |||
+ | <code java> | ||
+ | java.sql.Date.valueOf(localDate); | ||
+ | </ | ||
+ | |||
+ | === De java.sql.Date a LocalDate === | ||
+ | |||
+ | <code java> | ||
+ | LocalDate localDate = new java.sql.Date(date.getTime()).toLocalDate(); | ||
+ | </ | ||
+ | |||
+ | === De java.sql.Date a java.util.Date === | ||
+ | |||
+ | <code java> | ||
+ | java.util.Date fechaUtilDate = new java.util.Date(fechaSqlDate.getTime()); | ||
+ | </ | ||
+ | |||
+ | === De java.util.Date a java.sql.Date === | ||
+ | |||
+ | <code java> | ||
+ | java.sql.Date fechaSqlDate = new java.sql.Date(fechaUtilDate.getTime()); | ||
</ | </ | ||
---- | ---- | ||
- | (c) 2019 Santiago Faci | + | (c) 2019-{{date> |
apuntes/fechas.1550316543.txt.gz · Last modified: 2019/02/16 11:29 by Santiago Faci