Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH,1);
calendar.add(Calendar.DATE,-calendar.get(Calendar.DATE));
ymd.addText(calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-"+calendar.get(Calendar.DATE));
为什么显示是4月30号,今天明明是4月1号
calendar.add(Calendar.MONTH,1);
calendar.add(Calendar.DATE,-calendar.get(Calendar.DATE));
ymd.addText(calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-"+calendar.get(Calendar.DATE));
为什么显示是4月30号,今天明明是4月1号
Date nowDate = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String strData = sdf.format(nowDate);
System.out.println(strData );这样不行吗?
在当前月份加了一个月,所以现在是5月
calendar.get(Calendar.DATE);
这个得到的是本月的第几天,所以是第一天,也就是值是1
calendar.add(Calendar.DATE,-calendar.get(Calendar.DATE));
这个是在现在月(上面已经是5月了)的第一天减去了一天
所以是4月30日
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH,0);
calendar.add(Calendar.DATE,0);
ymd.addText(calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-"+calendar.get(Calendar.DATE));这样就是当前的系统时间了
这句
这就是要加一个月罗 呵呵
calendar.add(Calendar.DATE,0);你改成这样看看
Calendar.DATE得到的当前月的第几天,几号就是几,明天的话是2
calendar.get(Calendar.DATE);得到的还是2
calendar.add(Calendar.DATE,-calendar.get(Calendar.DATE));
2-2不还是上个月的最后一天嘛,所以还是4月30号