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