Java时间格式化时YYYY(大写)和yyyy(小写)的区别
Posted 每天进步一点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java时间格式化时YYYY(大写)和yyyy(小写)的区别相关的知识,希望对你有一定的参考价值。
在Java中,我们大多数情况下格式日期都是用的SimpleDateFormat,比如说把一个日期格式成"yyyy-MM-dd"
的形式。
我们要注意的是,对于年份来说,大写的Y和小写的y其意义是不同的。
y 是Year, Y 表示的是Week year
经过试验,得出的结果如下:Week year 意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。
package time; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created by sheting on 10/20/2017 */ public class Test { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); // 2014-12-31 calendar.set(2014, Calendar.DECEMBER, 31); Date strDate1 = calendar.getTime(); // 2015-01-01 calendar.set(2015, Calendar.JANUARY, 1); Date strDate2 = calendar.getTime(); // 大写YYYY DateFormat formatUpperCase = new SimpleDateFormat("YYYY/MM/dd"); System.out.println("2014-12-31 to YYYY/MM/dd: " + formatUpperCase.format(strDate1)); //2014-12-31 to YYYY/MM/dd: 2015/12/31 System.out.println("2015-01-01 to YYYY/MM/dd: " + formatUpperCase.format(strDate2)); //2015-01-01 to YYYY/MM/dd: 2015/01/01 // 小写YYYY DateFormat formatLowerCase = new SimpleDateFormat("yyyy/MM/dd"); System.out.println("2014-12-31 to yyyy/MM/dd: " + formatLowerCase.format(strDate1)); //2014-12-31 to yyyy/MM/dd: 2014/12/31 System.out.println("2015-01-01 to yyyy/MM/dd: " + formatLowerCase.format(strDate2)); //2015-01-01 to yyyy/MM/dd: 2015/01/01 } }
以上是关于Java时间格式化时YYYY(大写)和yyyy(小写)的区别的主要内容,如果未能解决你的问题,请参考以下文章
java如何yyyy-mm-dd格式转换成dd-mon-yy格式