1. 程式人生 > >Java時間格式化時YYYY(大寫)和yyyy(小寫)的區別

Java時間格式化時YYYY(大寫)和yyyy(小寫)的區別

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-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(小寫)的區別