有谁知道为什么输出结果中的年份是2077,而不是2011?
Integer yyyyMMdd = 20110830
Calendar day = Calendar.getInstance(TimeZone.DEFAULT);
Integer dd = yyyyMMdd % 100;
Integer yyyy = yyyyMMdd / 10000;
day.set(yyyy, MM-1, dd);
System.err.println(day.getTimeInMillis());
最佳答案
修复了您的代码,使其可以实际编译后,我得到了预期的结果-大概这是您实际上在运行但未显示的代码中的错误。这是我的代码:
import java.util.*;
class Test {
public static void main(String[] args) {
int yyyyMMdd = 20110830;
Calendar day = Calendar.getInstance(TimeZone.getDefault());
int dd = yyyyMMdd % 100;
int MM = (yyyyMMdd % 10000) / 100;
int yyyy = yyyyMMdd / 10000;
day.set(yyyy, MM-1, dd);
System.err.println(day.getTime());
}
}
结果在我的机器上:
Tue Aug 30 07:18:33 BST 2011
关于java - 奇怪的Java日历行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10578189/