-1

このサンプルコードを使用して、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();
4

1 に答える 1

0

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")

于 2012-06-25T14:07:21.893 に答える