now localdatetime java datetime jodatime java.util.date

java - now - localdatetime to date kotlin



¿Cómo convertir Joda-Time DateTime a java.util.Date y viceversa? (3)

¿Es posible hacer eso? En caso afirmativo, ¿cómo hago la conversión de Joda-Time a Date y viceversa?


No ha especificado qué tipo de Joda Time le interesa, pero:

Instant instant = ...; Date date = instant.toDate(); instant = new Instant(date); // Or... instant = new Instant(date.getTime());

Ni Date ni Instant están relacionadas con husos horarios, por lo que no es necesario especificar uno aquí.

No tiene sentido convertir de LocalDateTime / LocalDate / LocalTime a Date (o viceversa) ya que eso dependerá de la zona horaria que se aplique.

Con DateTime puede convertir a una Date sin especificar la zona horaria, pero para convertir de Date a Date y hora debe especificar la zona horaria o utilizará la zona horaria predeterminada del sistema. (Si realmente quiere eso, lo especifico explícitamente para dejar en claro que es una elección deliberada).

Por ejemplo:

DateTimeZone zone = DateTimeZone.forID("Europe/London"); Date date = ...; DateTime dateTime = new DateTime(date.getTime(), zone);


Para convertir de la fecha de Java a Joda Hora de la fecha:
Para convertir de la fecha a la fecha y hora, es necesario especificar la zona horaria.
Para convertir de java.util Date a Joda Time of Date solo necesita pasar la fecha y la zona horaria de java.util al constructor de Joda Time of Date.

java.util.Date date = new java.util.Date(System.currentTimeMillis()); DateTimeZone dtz = DateTimeZone.getDefault();// Gets the default time zone. DateTime dateTime = new DateTime(date.getTime(), dtz);

Para convertir de Joda Hora de fecha a Java Fecha:
Para el caso inverso, Joda DateTime tiene un método toDate() que devolverá la fecha de java.util.

DateTime jodaDate = new DateTime(); java.util.Date date = jodaDate.toDate();

Para más detalles, visite aquí


Para convertir Date a Joda DateTime : -

Date date = new Date(); DateTime dateTime = new DateTime(date);

Y viceversa:-

Date dateNew = dateTime.toDate();

Con TimeZone , si es necesario:

DateTime dateTimeNew = new DateTime(date.getTime(), timeZone); Date dateTimeZone = dateTime.toDateTimeAtStartOfDay(timeZone).toDate();