Convertir de java.util.date a JodaTime

2 minutos de lectura

avatar de usuario
Krt_Malta

quiero convertir un java.util.Date a JodaTime para realizar restas entre fechas. ¿Hay una buena manera concisa de convertir de Date a JodaTime?

avatar de usuario
skaffman

java.util.Date date = ...
DateTime dateTime = new DateTime(date);

Cerciorarse date no es nullsin embargo, de lo contrario actúa como new DateTime() – YO De Verdad no me gusta eso

  • Así que básicamente: DateTime dateTime = date==null?null:new DateTime(date);

    – Joeri Hendrickx

    18 de febrero de 2011 a las 15:47

  • +1 para “de lo contrario, actúa como nuevo DateTime() – Realmente no me gusta eso”.

    – reevesy

    27 de abril de 2012 a las 12:10

  • @BabajidePrince No; entonces obtendría el mismo valor que new DateTime(null), que es exactamente lo que queríamos evitar. La expresión pretende mantener nulo como nulo, que es lo que tiene sentido en la mayoría de las situaciones.

    – Joeri Hendrickx

    7 mayo 2013 a las 21:35

  • Tenga en cuenta que Java Date es independiente de la zona horaria, mientras que Joda DateTime tiene una cronología.

    –Cristian Vrabie

    26 de julio de 2013 a las 11:58

  • Sí, una vez o dos, el acto si nulo como nuevo DateTime() me causó un poco de molestia …

    – Buzzsawddog

    14 de noviembre de 2013 a las 17:08

http://joda-time.sourceforge.net/quickstart.html

Cada clase de fecha y hora proporciona una variedad de constructores. Estos incluyen el constructor de objetos. Esto le permite construir, por ejemplo, DateTime a partir de los siguientes objetos:

* Date - a JDK instant
* Calendar - a JDK calendar
* String - in ISO8601 format
* Long - in milliseconds
* any Joda-Time datetime class

  • @skaffman si quisiera evitar fechas nulas, podría usar date.getTime() en su lugar. Obtendrá una excepción de puntero nulo, sin embargo, eso puede ser mejor que fallar silenciosamente.

    – Pagano

    18 de febrero de 2011 a las 14:49

  • Me pregunto por qué no sobrecargaron su constructor para esos objetos.

    – Pieter De Bié

    23 de octubre de 2015 a las 9:25

  • @PieterDeBie, porque el sistema es genérico. Puede registrar sus propios tipos de objetos para realizar conversiones hacia o desde.

    – Jules

    30 de abril de 2017 a las 1:22

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad