2

私はこのSQLクエリとJavaコードを持っています:

    select to_char(start_date, 'DD/MM/YYYY') AS start_date FROM table

    LogServiceFactory.getInstance().logError("-------From the Db " + rs.getString("start_date"));

    LogServiceFactory.getInstance().logError("-------Formatter " + DateTime.parse(rs.getString("start_date"), formatter));

    DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/YYYY");

    object.setStart_date(DateTime.parse(rs.getString("start_date"), formatter));

これが私のログファイルの内容です:

2012-08-16 17:48:26-----------Dbから2012年8月8日

2012-08-16 17:48:26 ----------フォーマッター2012-08-08T00:00:00.000-04:00

フォーマッタが2012年8月8日を2012-08-08T00:00:00.000-04:00に変換しているのはなぜですか

私の仮定は、日付が2012年8月8日として戻ってくるというものでした。

フォーマッターを正しく使用していませんか?

4

1 に答える 1

7

それは新しいオブジェクトをDateTime.parse返すと思います。したがって、 ISO8601形式の日付パターンを返すDateTime標準メソッドを呼び出します。toString()

.toString("dd/MM/yyyy")ログメッセージに使用できます。

于 2012-08-16T22:11:29.333 に答える