将第 1 个月添加到 Android 中的日历月中的日历问题

新手上路,请多包涵

我正在使用以下代码

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

+1 添加到 jan 是给 mar 月。如果我们将当前日期增加 30 天,它可能会返回正确的输出。但我想展示 二月。任何人都可以帮助我吗..

原文由 Naveen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 358
2 个回答

您可以看到 +1 to set 字段添加了与您的日期不同的 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

原文由 Ram kiran Pachigolla 发布,翻译遵循 CC BY-SA 3.0 许可协议

你必须使用 add() 比如,

 cal.add(Calendar.MONTH, 1);

输出 ->

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

原文由 Lalit Poptani 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题