Java時間格式化時YYYY(大寫)和yyyy(小寫)的區別
阿新 • • 發佈:2017-10-21
col str 得出 表示 logs set end 屬於 itl
在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-01calendar.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/31System.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(小寫)的區別