Jak przekonwertować Joda-Time DateTime do Javy.util.Randka i vice versa?

Czy to możliwe? Jeśli tak, to jak wykonać konwersję z Joda-Time na Date i odwrotnie?

Author: Jonik, 2013-03-11

3 answers

Do konwersji Java Date do Joda DateTime:-

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

I odwrotnie: -

Date dateNew = dateTime.toDate();

Z TimeZone, jeśli wymagane:-

DateTime dateTimeNew = new DateTime(date.getTime(), timeZone);
Date dateTimeZone = dateTime.toDateTimeAtStartOfDay(timeZone).toDate();
 90
Author: SudoRahul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-21 06:02:25

Nie podałeś, jaki typ w czasie Jody Cię interesuje, ale:

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

Ani Date ani Instant nie są związane ze strefami czasowymi, więc nie ma potrzeby ich tutaj określać.

Nie ma sensu konwertować z LocalDateTime / LocalDate / LocalTime do Date (lub odwrotnie), ponieważ zależałoby to od stosowanej strefy czasowej.

Z DateTime możesz przekonwertować na a Date bez określania strefy czasowej, ale aby przekonwertować z Date na DateTime należy określić strefy czasowej, lub użyje domyślnej strefy czasowej systemu. (Jeśli naprawdę chcesz tego, sprecyzowałbym to wyraźnie, aby było jasne, że jest to celowy wybór.)

Na przykład:

DateTimeZone zone = DateTimeZone.forID("Europe/London");
Date date = ...;
DateTime dateTime = new DateTime(date.getTime(), zone);
 6
Author: Jon Skeet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-11 07:41:38

Aby przekonwertować datę Javy na czas Joda daty:
Aby przekonwertować z Daty do DateTime Strefa czasowa musi być określona.
Do konwersji z Javy.util Date to Joda Time of Date wystarczy przekazać Javę.util datę i strefę czasową do konstruktora 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);

Aby przekonwertować z Joda Time of Date Na Java Date:
Dla odwrotnego przypadku Joda DateTime ma metodę toDate(), która zwróci Javę.Data util.

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

Więcej Szczegóły Odwiedź Tutaj

 0
Author: Shreyos Adikari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-11 08:12:33