ジェットWaitforit・トーレス:
私は、コードのこの部分を持っています
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss Z");
DateTime dateNow = dtf.parseDateTime(new DateTime().toString());
String registerDateStr = dateNow.toString();
私はそれを実行したときしかし、それは不正な日付は言います:
java.lang.IllegalArgumentExceptionが:無効なフォーマット: "2019-06-13T17:57:47.420 + 08:00" で奇形れる」0.420 + 08:00"
形成された日付は、私には正しいようですか?私はフォーマットで何か間違っをしましたか?
オレVV:
あなたはあまりにもハード作業しています。あなたはすべての明示的なフォーマッタを必要としません。
DateTime dateNow = new DateTime();
String registerDateStr = dateNow.toString();
System.out.println(registerDateStr);
出力時に、私は今ちょうど走りました。
2019-06-13T13:04:48.301 + 02:00
あなたがしたい場合は、フォーマッタのない文字列の背中を解析することができますが、私はあなたがちょうど取得する必要があるためない理由見ていないDateTime
あなたがから始まったものに等しいオブジェクトを:
DateTime parsedBack = DateTime.parse(registerDateStr);
System.out.println(parsedBack);
2019-06-13T13:04:48.301 + 02:00
あなたは知っていましたか?
ジョダタイムを大幅に「終了」プロジェクトと見なされることに注意してください。重大な機能拡張が計画されていません。Java SEの8を使用している場合、に移行してください
java.time
(JSR-310)。
より引用ジョダタイムホーム・ページ