乐趣区

java日期中YYYY与yyyy的区别

微信公众号:51 码农网
专业编程问答社区
www.51manong.com

jDK6 的 SimpleDateFormat 只有小“y”, 没有大“Y”。JDK7 开始引入了大“Y”,表示 Week year。
Week year 意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。例如 2017 年 12 月 31 日, 本周 (2017 年 12 月 31 日 -2018 年 1 月 6 日) 本周跨年了。就进入了下一年。

 public static void main(String[] args) {Calendar calendar = Calendar.getInstance();
       calendar.set(2017, Calendar.DECEMBER, 31);
       Date strDate1 =  calendar.getTime();
       SimpleDateFormat sf1 = new SimpleDateFormat("YYYY-MM-dd");
       System.out.println("大写 YYYY:" + sf1.format(strDate1));
       SimpleDateFormat sf2 = new SimpleDateFormat("yyyy-MM-dd");
       System.out.println("小写 yyyy:" + sf2.format(strDate1));

}

结果:
大写 YYYY: 2018-12-31
小写 yyyy: 2017-12-31

微信公众号 51 码农网

退出移动版