それは可能ですか?はいの場合、 Joda-TimeからDateへ、またはその逆に変換するにはどうすればよいですか?
3 に答える
JavaDate
をJodaDateTime
に変換するには:-
Date date = new Date();
DateTime dateTime = new DateTime(date);
およびその逆:-
Date dateNew = dateTime.toDate();
TimeZone
、必要に応じて: -
DateTime dateTimeNew = new DateTime(date.getTime(), timeZone);
Date dateTimeZone = dateTime.toDateTimeAtStartOfDay(timeZone).toDate();
興味のある Joda Time 内のタイプを指定していませんが、
Instant instant = ...;
Date date = instant.toDate();
instant = new Instant(date);
// Or...
instant = new Instant(date.getTime());
どちらDate
もInstant
タイムゾーンに関連していないため、ここで指定する必要はありません。
LocalDateTime
/ LocalDate
/LocalTime
からDate
(またはその逆)への変換は、適用されるタイム ゾーンに依存するため意味がありません。
では、タイム ゾーンを指定せずに にDateTime
変換できますが、からに変換するには、タイム ゾーンを指定する必要があります。そうしないと、システムのデフォルトのタイム ゾーンが使用されます。(本当にそれが必要な場合は、明示的に指定して、意図的な選択であることを明確にします。)Date
Date
DateTime
例えば:
DateTimeZone zone = DateTimeZone.forID("Europe/London");
Date date = ...;
DateTime dateTime = new DateTime(date.getTime(), zone);
Java Date から Joda Time of Date に変換するには:
Date から DateTime に変換するには、タイム ゾーンを指定する必要がありました。
java.util Date から Joda Time of Date に変換するには、java.util Date とタイム ゾーンを 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);
Joda Time of Date から Java Date に変換するには:
逆の場合、Joda DateTime にはtoDate()
java.util Date を返すメソッドがあります。
DateTime jodaDate = new DateTime();
java.util.Date date = jodaDate.toDate();
詳細については、こちらをご覧ください