更新: Android のバージョンが原因だと思っていましたが、ユーザーのタイムゾーンであることが判明しました
タブレットの時間が中央ヨーロッパ時間 (夏時間で +2) の場合、このコードは正しくない出力を生成します。
SimpleDateFormat dateTimeFormatter = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss Z", Locale.GERMAN);
Date testDate = dateTimeFormatter
.parse("2999-01-01 00:00:00 +0100");
Log.v(TAG, "test 1 " + testDate);
testDate = dateTimeFormatter.parse("2099-01-01 00:00:00 +0100");
Log.v(TAG, "test 2 " + testDate);
「test 1 Mon Dec 31 23:19:32 CET 2998」
「test 2 Thu Jan 01 00:00:00 CET 2099」
時差があります。より大きな日付で40分と数秒の違いがあるのはなぜですか?
タブレットを(ほとんどの)他のタイムゾーンに置いた場合、バグは存在しません。サマータイムのあるタイムゾーンと何か関係がありますか?