はい、Joda-Timeを使用してください。
Java 8のJoda-Timeまたはjava.time packageを使用してください(Joda-Timeから影響を受けています)。古いjava.util.Date
とjava.util.Calendar
のクラスは非常に面倒で、混乱し、時代遅れです。
また、UTCとISO 8601上のWikipediaのページをお読みください。
はい
、ジョダタイムコンストラクタ
➔に渡し日は、はい確かに、あなたはジョダタイムDateTime
オブジェクトのconstructorにjava.util.Date
オブジェクトを渡すことができます。
APIドキュメントは、これが明らかにjava.lang.Object
インスタンスを取るコンストラクタのキャッチオールバージョンに該当するため、少し混乱します。そのオブジェクトが実際にjava.util.Date
である場合、Joda-Timeはそのミリ秒カウントをepochから抽出し、その数値を独自のものとして使用します。
タイムゾーン
DateTime
コンストラクタは、時間帯を割り当てます。デフォルトでは、JVMの現在のデフォルトタイムゾーンが割り当てられています。私はあなたが常には、希望の時間帯を渡すのではなくそれがgetDefault
を呼び出す意味場合でも、デフォルトで暗黙的に依存しているお勧めします。ここで、実施例コード
はJodaのタイムコンストラクタにjava.util.Dateを渡す方法を示すJodaのタイム2.5でいくつかのサンプルコードです。
java.util.Date date = new java.util.Date();
DateTimeZone zone = DateTimeZone.forID("America/Montreal");
DateTime dateTimeMontreal = new DateTime(date , zone);
DateTime dateTimeUtc = dateTimeMontreal.withZone(DateTimeZone.UTC); // Adjust to another time zone.
コンソールにダンプします。
System.out.println("date: " + date); // Misleading output. A j.u.Date is in UTC but its toString method applies JVM’s current default time zone.
System.out.println("dateTimeMontreal: " + dateTimeMontreal);
System.out.println("dateTimeUtc: " + dateTimeUtc);
実行時。
java.util.DateへのDateTimeから行くために、質問に示すように
date: Sat Oct 18 18:54:55 PDT 2014
dateTimeMontreal: 2014-10-18T21:54:55.740-04:00
dateTimeUtc: 2014-10-19T01:54:55.740Z
、toDate
を呼び出します。
java.util.Date date = dateTimeMontreal.toDate();
可能重複http://stackoverflow.com/questions/5042587/convert-from-java-util-date-to-jodatime – Xorty
[OK]を、それが、おかげで動作しますが、APIに応じてそのようなはありませんDateを受け入れるコンストラクタ...もう一度おねがいします。多分私は何かを誤解しました。 – cscsaba
あなたは歓迎です:) – Xorty