MySQL InnoDB データベースから取得startDate
した型で呼び出されるフィールドがあります。TIMESTAMP
SELECT startDate FROM jn.all WHERE id IN(115)
=> 2012-07-28 00:00:00
Javaで私は:
java.util.Date d = resultSet.getDate("startDate");
SimpleDateFormat tsmpFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
tsmpFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(tsmpFormatter.format(d));
私は得る:
=>2012-07-28 04:00:00
UTC から EST までは 4 時間です。データベース時間は UTC です。
SELECT now();
=> 2013-07-29 21:46:26
私の現在のEST時間は17:46:26ですが
どこでも UTC を使用しているにもかかわらず、この 4 時間の差が生じるのはなぜですか? ありがとう!
編集:
私は問題を見つけたかもしれません。
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such as DATETIME.)
しかし、これは何current time zone
ですか?サーバーは UTC である必要があります。