din*_*707 17 java android calendar
假设目前日期是5月28日.如果我按顺序调用以下命令,则输出变为
cal.add(Calendar.DATE, 1); // Day = 29
cal.add(Calendar.DATE, 1); // Day = 30
cal.add(Calendar.DATE, 1); // Day = 31
cal.add(Calendar.DATE, 1); // Day = 31
cal.add(Calendar.DATE, -1); // Day = 29
Run Code Online (Sandbox Code Playgroud)
为什么这不会跳到下个月?为什么它会停留在第31位(但是当你减去1时它会跳到29)?
Sat*_*jee 30
你可以通过两种简单的方式轻松地做到这一点.第一个是:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, 1);
Run Code Online (Sandbox Code Playgroud)
第二个是:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR_OF_DAY, 24);
Run Code Online (Sandbox Code Playgroud)
我想你想找到这个东西.谢谢.
这也应该能达到目的。
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR, 1);
Run Code Online (Sandbox Code Playgroud)
您可以测试它的工作原理:
for (int i = 0; i < 365; i++) {
cal.add(Calendar.DAY_OF_YEAR, 1);
System.out.println(cal.getTime().toString());
}
Run Code Online (Sandbox Code Playgroud)