calendar.add(Calendar.MONTH, 2);
时间: 2023-11-19 11:52:42 浏览: 132
这行代码的作用是将Calendar对象中的月份字段增加2个月。假设当前Calendar对象表示的日期是2021年8月1日,则执行该代码之后,Calendar对象表示的日期会变成2021年10月1日。
需要注意的是,Calendar.MONTH表示月份字段,它的取值范围是0~11,分别表示1月到12月。所以在使用add方法时,要注意月份字段的取值范围。同时,add方法还会自动处理进位和借位的问题,例如当月份字段为11(即12月)时,再增加1个月会自动进位到下一年的1月。
相关问题
calendar.add(Calendar.MONTH, 1);和calendar.set(Calendar.DAY_OF_MONTH, 0);的作用
`calendar.add(Calendar.MONTH, 1)` 的作用是将 `Calendar` 对象中的月份字段加上 1,即将当前的月份向后推一月。例如,如果当前月份为 5 月,则执行该语句后,月份字段的值将变为 6。
`calendar.set(Calendar.DAY_OF_MONTH, 0)` 的作用是将 `Calendar` 对象中的日期字段设置为该月的最后一天。即将日期字段设置为 0,表示上一个月的最后一天,然后调用 `getTime()` 方法获取 `Date` 对象,再将日期字段设置为 1,最后再将 `Date` 对象转换为 `Calendar` 对象,这时 `Calendar` 对象中的日期字段就是该月的最后一天了。
综合起来,这两行代码的作用是将 `Calendar` 对象中的日期字段设置为下一个月的第一天,然后再减去一天,即得到当前月份的最后一天。这个操作常用于计算某个日期所在月份的天数。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(datestr); Calendar calendar = new GregorianCalendar() calendar.setTime(date) calendar.add(Calendar.MONTH, 0); calendar.set(Calendar.DAY_OF_MONTH, 1); var firstDay = calendar.getTime(); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); var lastday = calendar.getTime()
这段代码的作用是将一个字符串类型的日期转换为该月份的第一天和最后一天的日期。具体来说,它首先将字符串类型的日期解析为 Date 对象,然后将其设置为 GregorianCalendar 对象的时间,接着将该月份的第一天和最后一天的日期分别设置为 Calendar 对象的时间,并将它们转换为 Date 对象。最后,它将这两个 Date 对象分别赋值给 firstDay 和 lastday 变量。
阅读全文