JAVA-calendar.add(Calendar.Month,1):1月31号加一月是多少号?
来源:互联网 发布:f.lux for mac下载 编辑:程序博客网 时间:2024/04/27 19:28
做一个统计费用的项目,需要在每一月取得相同的日期。用calendar.add(Calendar.Month,1)的方法。
问题就来了,假如第一个月有31天,第二个月不足31天,加上一月后是自动调整到第二个月的最后一天,还是顺延到下一个月?
网上说啥的都有。自己测了一下。
用的环境是JAVA SE-1.8。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");try{Date d = sdf.parse("2017-01-31");Calendar cld = Calendar.getInstance();cld.setTime(d);cld.add(Calendar.MONTH, 1);Date d2 = cld.getTime();System.out.println(sdf.format(d)+"加一月:"+sdf.format(d2));//闰年的情况d = sdf.parse("2016-01-31");cld = Calendar.getInstance();cld.setTime(d);cld.add(Calendar.MONTH, 1);d2 = cld.getTime();System.out.println(sdf.format(d)+"加一月:"+sdf.format(d2));}catch(Exception e){e.printStackTrace();}
2017-01-31加一月:2017-02-28
2016-01-31加一月:2016-02-29
答案是自动调整为下月的最后一天。
——这也是大多数情况下更愿意接受的计算方法。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
那么按月累加的情况就要注意了,假如要取得某个月的31号,必须从有31号的月份获得,而不是每个循环添加1月。
0 0
- JAVA-calendar.add(Calendar.Month,1):1月31号加一月是多少号?
- JAVA:int month = calendar.get(Calendar.MONTH)+1;为何要加1?
- Java Calendar.MONTH
- Calendar使用--> 获取星期几、一周日期的函数, calendar.add(Calendar.DATE, 1);日期加1
- JAVA Calendar 一月多少天
- android Calendar.MONTH Time.MONTH 少一个月
- Java使用Calendar月操作(时间段内的月份、前三个月、月份加1)
- 日期calendar月份加1
- Java中Calendar.DAY_OF_WEEK需要减一的原因 month +1
- Java中Calendar类中month参数(月参数)的取值
- Java通过cal.get(Calendar.MONTH)比真实月份少了一个月
- JAVA Calendar设置时间,月份总是加1
- android Calendar.MONTH 获得月份为啥会少一个月
- 当前日期加1 日期控件calendar
- 遇到的问题----java中获取当前月份c.get(Calendar.MONTH)中月份少一个月
- Calendar.add(Calendar.DATE,5)
- Java.util.Calendar.add()方法实例
- java calendar 日期实现不断加一天
- VS2010-MFC下控件Win7风格设置
- java开发中的关键字
- 每日打卡 2017.03.15 北大信科2017机试真题题解
- 面向对象OO——类之间的关系
- Docker使用-完整的Dockerfile
- JAVA-calendar.add(Calendar.Month,1):1月31号加一月是多少号?
- Docker构建镜像
- Python3 中文文件读写
- javascript的基本概念
- iTunes Connect
- 【复习linux的使用】(四)——权限/进程
- 不同的梯度下降算法
- 【Java NIO的深入研究6】JAVA NIO之Scatter-Gather
- IE浏览器拖放事件e.dataTransfer.setData(key,value)报错