壹:yyyy
和YYYY
的区别
Y表示的是Week year。Week year意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。
YYYY
在JDK1.6及以前不支持此用法,在JDK1.7及以后版本方以支持
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2019, 11, 30);
Date strDate = calendar.getTime();
SimpleDateFormat f1 = new SimpleDateFormat("YYYY-MM-dd");
//Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern character 'Y' ----> //JDK1.6
// 2020-12-30 ----> //JDK1.8
System.out.println(f1.format(strDate));
SimpleDateFormat f2 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(f2.format(strDate));
// 2019-12-30 ----> 都一样
SimpleDateFormat f3 = new SimpleDateFormat("y-M-d");
System.out.println(f3.format(strDate));
// 19-12-30 ----> //JDK1.6
// 2019-12-30 ----> //JDK1.8
}
贰:y-M-d
在y-M-d
这种格式的时候,JDK 1.6会只取年的后两位,而JDK 1.7及以后版本会显示完整的四位。
叁:dd
与DD
大写的D表示年中的天数
小写的d表示月份中的天数