マイJavaでのMySQLのdatetimeを与える:私はJDBCはUTC
insertTimestampPreparedStatement.setTimestamp(3, dbTimestamp, Calendar.instance(TimeZone.getTimeZone("UTC"));
を行う場合でも、私は、MySQLはそれらを保存するかどうかわからないんだけど、
Date parsedDate = dateFormat.parse(timestamp);
Timestamp dbTimestamp = new Timestamp(parsedDate.getTime());
insertTimestampPreparedStatement.setTimestamp(3, dbTimestamp);
phpMyAdminに/ MySQLはいつも私のローカル時間でこれを表示します私がこれをチェックする唯一の方法は、phpmyadminでタイムゾーン行をNOW()に直接更新し、GMTで時間を示していたことです。したがって、phpmyadmin/mysqlにバグがあるか、私のコードが正しいタイムゾーンでタイムスタンプを送信していないかのいずれかです。
これをUTCで動作させるにはどうすればよいですか?
*タイムスタンプが保存されている場合を除いて、 "*はローカルタイムゾーン*を使用する必要があります** **タイムゾーンと仮定しますか? (MySQLには関係ありません) –
@a_horse_with_no_nameデータベースにタイムゾーン情報がある場合、ドライバは取得時にそれを使用し、格納時にはデフォルトでローカルタイムゾーンにする必要があります。 –