20

私はJava で Joda -Timeライブラリを使用しており、日付と時刻をorg.joda.time.DateTimeオブジェクトとして保存しています。

この DateTime オブジェクトを、INSERT SQL ステートメントで使用できるように、SQL サーバー (タイムゾーンを含む) によって正しく解析される文字列に確実に変換するにはどうすればよいですか?

4

4 に答える 4

10
于 2010-09-23T16:27:40.533 に答える
7

タイムゾーンを考慮するように注意してください。新しいTimestamp()を使用すると、GMTでミリ秒単位の時間が予想されるため、注意が必要な場合があります。

    DateTime dt = new DateTime(2010, 1, 1, 14, 30, 59, 1, DateTimeZone.forOffsetHoursMinutes(7, 0));
    Timestamp ts = new Timestamp(dt.getMillis());
    System.out.println(dt); // prints 2010-01-01T14:30:59.001+07:00
    System.out.println(ts); // prints 2010-01-01 08:30:59.001

    DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
    String sqlTimeString = fmt.print(dt);
    System.out.println(sqlTimeString); // prints 2010-01-01 14:30:59
于 2011-07-25T08:33:46.603 に答える