calendar.getActualMaximum(calendar.DAY_OF_MONTH)的陷阱
来源:互联网 发布:行知实践园观后感400 编辑:程序博客网 时间:2024/06/04 19:59
在使用calendar.getActualMaximum(calendar.DAY_OF_MONTH)获取每月最后一天时,发现在2月出现了问题,获取到的时间是20170303,而其他月份获取的最后一天都是正确的。
而且之前获取2月最后一天是28号,也每月问题。代码也没动过。后来才发现昨天是28号取的2月最后一天,29-31号取2月最后一天都会有问题。
原因是Calendar类在set的时候,并不会立即生效,只有在get的时候才会生效
而且之前获取2月最后一天是28号,也每月问题。代码也没动过。后来才发现昨天是28号取的2月最后一天,29-31号取2月最后一天都会有问题。
原因是Calendar类在set的时候,并不会立即生效,只有在get的时候才会生效
解决方法是在实例化Calendar类之后,要先调用clear()方法清空缓存。
Calendar calendar=Calendar.getInstance();calendar.clear();calendar.set(Calendar.YEAR, 2017);calendar.set(Calendar.MONTH, 1);int firstDay=calendar.getActualMinimum(calendar.DAY_OF_MONTH);int lastDay=calendar.getActualMaximum(calendar.DAY_OF_MONTH);System.out.println(2+"月第一天是:"+firstDay);System.out.println(2+"月最后一天是:"+lastDay);calendar.set(Calendar.DAY_OF_MONTH, lastDay);SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");System.out.println(sdf.format(calendar.getTime()));
阅读全文
0 0
- calendar.getActualMaximum(calendar.DAY_OF_MONTH)的陷阱
- Calendar的getActualMaximum
- Calendar.DAY_OF_MONTH
- Andrdoi 如何获得某个月份最后一天(或号数最大那天)的号数?--使用getActualMaximum(Calendar.DAY_OF_MONTH)!
- Java语言中,Calendar.DATE是Calendar.DAY_OF_MONTH的同义词
- Calendar.DAY_OF_MONTH存放什么数据
- Java中Calendar.DAY_OF_WEEK、DAY_OF_MONTH需要减一的原因
- Calendar中的Calendar.WEEK_OF_YEAR陷阱
- nowDate.add(Calendar.DAY_OF_MONTH,1); 谁能告诉我这里面的 1 是什么意思
- Calendar.clear(int field)的陷阱
- Calendar.clear(int field)的陷阱
- Calendar类set()方法的“陷阱”
- calendar
- calendar
- Calendar
- Calendar
- calendar
- Calendar
- @Service注解@Resource在何时使用
- Java学习笔记之JDK1.5新特性(五):枚举类
- POI 合并单元格
- 汇编语言学习第一天
- Qt学习笔记 -------------------------QWidget 1
- calendar.getActualMaximum(calendar.DAY_OF_MONTH)的陷阱
- vue-resource、Vue中response的get、post和jsonp请求例子
- JavaScript常用表单事件用法总结与实例
- ES6(四)正则
- Dubbo 接口设计原则、服务系统划分
- 普通Java类获取spring 容器的bean的5种方法
- AndroidStudio设置运行时自带签名
- 冒泡排序算法详解及优化
- Linux下的tar压缩解压缩命令详解