some_field
MySQL データベースに日時型フィールドがあります。recordSet.getTimestamp("somefield")
オブジェクトを返すを使用してデータをクエリできますjava.sql.Timestamp
。ただし、返される値には UTC 時刻が格納されます。タイムゾーンが「アメリカ/シカゴ」であることがわかっている場合、どうすれば時間を変換できますか。私は DST の世話をしなければなりません。
質問する
463 次
1 に答える
1
ミリ秒未満の精度を無視する必要があるかもしれないと思いますTimestamp
-これは、特定のタイムゾーンに変換しているかのように、おそらく合理的であり、「人間の」日付であることを示唆しています。ともかく:
TimeZone zone = TimeZone.getTimeZone("America/Chicago");
Calendar calendar = Calendar.getInstance(zone); // Also locale?
calendar.setTime(timestamp);
これで、日付、時刻など、必要な値をカレンダーに問い合わせることができます。
または、はるかに優れた日付/時刻 API であるJoda Timeの使用を検討することもできます。
DateTimeZone zone = DateTimeZone.forID("America/Chicago");
DateTime dateTime = new DateTime(timestamp.getTime(), zone);
于 2012-07-31T20:44:44.793 に答える