Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日历和时区。错误_Java_Android_Calendar_Timezone_Timezone Offset - Fatal编程技术网

Java 日历和时区。错误

Java 日历和时区。错误,java,android,calendar,timezone,timezone-offset,Java,Android,Calendar,Timezone,Timezone Offset,日历使用相同的数据提供不同的值。 就是 在代码的不同部分给出了不同的值 \uuu.calc.ap.getTZ()和timezonebase是相同的,它们等于“欧洲/莫斯科” \uu.calc.ap.getCalMainTime()和curData.getTimeBase()的时间(毫秒)相同,等于568026000000L(1988年1月1日12:00 GMT+03:00) 结果相差一小时:(1988年1月1日12:00 GMT+03:00)或(1988年1月1日13:00 GMT+03:00

日历使用相同的数据提供不同的值。 就是

在代码的不同部分给出了不同的值

\uuu.calc.ap.getTZ()
和timezonebase是相同的,它们等于
“欧洲/莫斯科”
\uu.calc.ap.getCalMainTime()
curData.getTimeBase()
的时间(毫秒)相同,等于
568026000000L
1988年1月1日12:00 GMT+03:00

结果相差一小时:(
1988年1月1日12:00 GMT+03:00
)或(
1988年1月1日13:00 GMT+03:00


我想这个由俄罗斯引起的错误在两年前删除了DST。但是如何修复这个错误呢?

我找到了一个丑陋的解决方案。可能会有更好的人。重新初始化日历

calT=Calendar.getInstance()

计算设置时区(.calc.ap.getTZ()); 计算setTimeInMillis(.calc.ap.getCalMainTime())

calT=Calendar.getInstance()

计算设置时区(时区基); 计算setTimeInMillis(curData.getTimeBase())

calT.setTimeZone(_.calc.ap.getTZ());
calT.setTimeInMillis(_.calc.ap.getCalMainTime());

calT.setTimeZone(timezonebase);
calT.setTimeInMillis(curData.getTimeBase());