更新:我认为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分钟和几秒钟的差异?
当我将平板电脑放入(大多数)其他时区时,该错误不存在。与节省时间的时区有什么关系?
答案 0 :(得分:0)
猜猜我无法克服这个错误,我已经建立了自己的日期解析器。
更新:我自己的解析器有同样的问题
我目前的解决方案是不使用这些大日期。如果日期>未来100年,我将来将其定为100年。