使用SimpleDateFormat格式化時發現顯示年份比實際年份多一年,這是因為yyyy和YYYY格式化時表示的含義是不同的,yyyy表示實際年份,YYYY表示Week year,Week year意思是當天所在的周屬於的年份,一周從周日開始,周六結束,只要本周跨年,那么這周就算入下一年。
代碼如下:
import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { String pattern1 = "yyyy-MM-dd"; String pattern2 = "YYYY-MM-dd"; Date date = new Date(119,11,30); //2019.12.30 SimpleDateFormat sdf1 = new SimpleDateFormat(pattern1); SimpleDateFormat sdf2 = new SimpleDateFormat(pattern2); String date1 = sdf1.format(date); String date2 = sdf2.format(date); System.out.println("date1:"+pattern1+"\t"+date1); System.out.println("date2:"+pattern2+"\t"+date2); } }
結果:
覺得這個YYYY似乎沒什么用,只有坑。。。