2018工作最后一天 之 Calendar时间格式

坑一之时间格式

之前掉进过一个坑 SimpleDateFormat("YYYYMMddHHmmss")
java6/Java7/java8中时间格式取值范围变化如下
2018工作最后一天 之 Calendar时间格式
由此可见java8 相对增加了对周天/周年的支持
需要说明的是 Y 表示按周计算的年份
假如今天是20181231(是周一),那么因为本周也有2019年的日子5天 (周二-周六)因此会认为当前是19年第一周 假如取值明天的话得到的是第一周归属年份即2019年 ,而实际则是2018年
对y/Y/L/u/X的取值测试 演示环境 (STS+JAVA8)
2018工作最后一天 之 Calendar时间格式

坑二之Calendar

Calendar.MONTH打印始终=2
看源码才发现 YEAR/MONTH之类的都是索引位置 而不是具体值
取值应使用如下格式

Calendar date= Calendar.getInstance();
System.out.println("month is= " +**date.get(Calendar.MONTH)*斜体样式***)

而不是直接使用

System.out.println("month is= " +~~**Calendar.MONTH**~~ )

参考:

https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html