このサンプルコードを使用して、2つの日付の差を計算できるかどうかを知りたいのですが、日付形式がyyyy-MM-ddの場合hh:mm:ss日付形式がyyyy-MM-dd'T'の場合HH:mm:ss.SSSZ、すべて正常に動作します。
int days = Days.daysBetween(new DateTime(today), new DateTime(StartTime1)).getDays();
yyyy-MM-dd'T'HH:mm:ss.SSSZ
そのフォーマットはISODateTimeFormatでサポートされているため、 ""で機能します。これString
は、コンストラクターに渡されるパラメーターを処理しますDateTime(Object)
。
DateTimeFormatter
" "に適したものを作成し、yyyy-MM-dd hh:mm:ss
代わりにそれを使用する必要があります。たとえば、次のようになります。
DateTimeFormatterBuilder b = new DateTimeFormatterBuilder();
b.append(ISODateTimeFormat.yearMonthDay());
b.appendLiteral(" ");
b.append(ISODateTimeFormat.hourMinuteSecond());
DateTimeFormatter fmt = b.toFormatter();
// fmt can now be used to parse "yyyy-MM-dd hh:mm:ss" patterns, like so:
System.out.println(fmt.parseDateTime("2010-04-20 20:13:59"));
編集yyyy-MM-dd hh:mm:ss
:" "から""に変換するyyyy-MM-dd'T'HH:mm:ss.SSSZ
には、次のようにすることができます。
String dateTime = ISODateTimeFormat.dateTime()
.print(fmt.parseDateTime("2010-04-20 20:13:59"));
DateTime
有効なもの(の出力はどうなるか)と比較して、それがどのように役立つかわかりませんfmt.parseDateTime("2010-04-20 20:13:59")
。