1

更新: 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分と数秒の違いがあるのはなぜですか?

タブレットを(ほとんどの)他のタイムゾーンに置いた場合、バグは存在しません。サマータイムのあるタイムゾーンと何か関係がありますか?

4

1 に答える 1