在 Android 中将月 +1 添加到日历月中的日历问题

2022-09-01 07:21:45

我正在使用以下代码

Calendar cal = Calendar.getInstance();
System.out.println("Before "+cal.getTime());
cal.set(Calendar.MONTH, 01);
System.out.println("After "+cal.getTime());

输出为

Before Thu Jan 31 10:07:34 IST 2013
After Sun Mar 03 10:07:34 IST 2013

对于添加到 jan 是给 mar 月份。如果我们在当前日期添加30天,则可能是它返回正确的输出。但我想显示二月。任何人都可以帮我请..+1


答案 1

您可以看到+1设置字段正在添加与您的日期不同的30天日期(从您的输出中观察到)。

如果你想要几个月,那么使用代码

Calendar cal = Calendar.getInstance();
System.out.println("Before "+cal.getTime());  //Before Thu Jan 31 10:16:23 IST 2013

cal.add(Calendar.MONTH, 1);
System.out.println("After "+cal.getTime()); //After Thu Feb 28 10:16:23 IST 2013

答案 2

你必须使用这样的,add()

cal.add(Calendar.MONTH, 1);

输出->

Before Thu Jan 31 10:15:04 IST 2013
After Thu Feb 28 10:15:04 IST 2013