简单了解JAVA SimpleDateFormat yyyy和YYYY的区别
最近有一个功能是对输入的日期格式化,设计给出的范例是YYYY-MM-ddHH:mm:ss,于是我简单验证了一下是可以的,然后就这么在手册里写了。然后偶然发现有地方也用yyyy啊,这个到底有神马区别啊,还是随便用呢。看了下jdk,这么说的:
也就是说Y表示的是Weekyear,可是,这个Weekyear又是什么。。jdk文档贴心地给出了Examples,然而并没有什么卵用。。
经过试验,得出的结果如下:Weekyear意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年,例如2010.12.26,日历长成这样:
12.26所在的周的最后一天是2011.1.1,这天属于2011,所以2010.12.26的Weekyear就是2011,用YYYY做格式化,就会得到2011.12.26。
试验代码:
publicstaticvoidmain(String[]args){ Calendarcalendar=Calendar.getInstance(); //2014-12-26 calendar.set(2010,Calendar.DECEMBER,26); DatestrDate1=calendar.getTime(); SimpleDateFormatf1=newSimpleDateFormat("YYYY-MM-dd"); System.out.println("ResultforYYYY:"+f1.format(strDate1)); SimpleDateFormatf2=newSimpleDateFormat("yyyy-MM-dd"); System.out.println("Resultforyyyy:"+f2.format(strDate1)); }
运行结果:
ResultforYYYY:2011-12-26
Resultforyyyy:2010-12-26
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。