Programación

1º DAM/DAW - Curso 2023-2024

User Tools

Site Tools


apuntes:fechas

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apuntes:fechas [2019/02/16 11:29] Santiago Faciapuntes: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)));   // 2018-12-29 System.out.println(fechaHoy.plus(Period.ofDays(35)));   // 2018-12-29
 </code> </code>
 +
 +=== 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("dd/MM/yyyy")); String cadenaFecha = fechaHoy.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));
 +
 +=== 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://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html|clase DateTimeFormatter]] la [[https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html|clase DateTimeFormatter]]
 +
 +=== Comparar dos fechas ===
  
 También es posible comparar dos fechas entre ellas directamente para saber cuál es anterior/posterior o si son iguales También es posible comparar dos fechas entre ellas directamente para saber cuál es anterior/posterior o si son iguales
Line 136: Line 142:
 // Puedo verla en dias, meses, . . . // Puedo verla en dias, meses, . . .
 System.out.println(periodo.getDays());      // -1 System.out.println(periodo.getDays());      // -1
 +</code>
 +
 +==== Conversiones de fechas (Date <-> LocalDate) ====
 +
 +=== De java.util.Date a LocalDate ===
 +
 +<code java>
 +fechaDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate()
 +</code>
 +
 +=== De java.util.Date a LocalDateTime ===
 +
 +<code java>
 +Instant.ofEpochMilli(fechaDate.getTime()) 
 +  .atZone(ZoneId.systemDefault())
 +  .toLocalDateTime();
 +</code>
 +
 +=== De LocalDateTime a java.util.Date ===
 +
 +<code java>
 +java.util.Date.from(fechaLocalDateTime
 +  .atStartOfDay()
 +  .atZone(ZoneId.systemDefault())
 +  .toInstant();
 +</code>
 +
 +=== De LocalDate a java.util.Date ===
 +
 +<code java>
 +java.util.Date.from(fechaLocalDate.atZone(ZoneId.systemDefault()) 
 +  .toInstant();
 +</code>
 +
 +=== De LocalDate a java.sql.Date ===
 +
 +<code java>
 +java.sql.Date.valueOf(localDate);
 +</code>
 +
 +=== De java.sql.Date a LocalDate ===
 +
 +<code java>
 +LocalDate localDate = new java.sql.Date(date.getTime()).toLocalDate();
 +</code>
 +
 +=== De java.sql.Date a java.util.Date ===
 +
 +<code java>
 +java.util.Date fechaUtilDate = new java.util.Date(fechaSqlDate.getTime());
 +</code>
 +
 +=== De java.util.Date a java.sql.Date ===
 +
 +<code java>
 +java.sql.Date fechaSqlDate = new java.sql.Date(fechaUtilDate.getTime());
 </code> </code>
  
 ---- ----
  
-(c) 2019 Santiago Faci+(c) 2019-{{date>%Y}} Santiago Faci
apuntes/fechas.1550316543.txt.gz · Last modified: 2019/02/16 11:29 by Santiago Faci