这是我的代码:
月是循环传递的。前0(因为我键入的是一月),然后是1,依此类推。下个月是二月,此循环将从该日期开始。 1、2等
int thisMonth = Calendar.getInstance().get(Calendar.MONTH) + 1;
cal = Calendar.getInstance();
df = new SimpleDateFormat("MMM yyyy", Locale.ENGLISH);
cal.set(Calendar.MONTH, month + thisMonth);
String sMonth = df.format(cal.getTime());
在第一个循环中,
sMonth
是2015年3月。在第二个循环中,
sMonth
是2015年3月。在第三个循环中,
sMonth
是2015年4月。在第四个循环中,
sMonth
是2015年5月。..等等
如您所见,第一个月不是预期的2月。我相信这是1月29日,因此可能会有些原因,因为我们已经接近2月了。但是如果是这样,为什么会发生两次呢?
我知道由于我不使用unix时间戳,所以事情不完全正确,是否有办法计算出至少可以得到准确的月订购量呢?
最佳答案
由于今天是30日,您将获得当前日期(2015-01-30),并增加月份以获取2015-02-30-自2月份以来,该日期“滚动”到2015-03-02 30天。
避免此问题的一种方法是在更改月份之前将月份的天数设置为1。