判斷當前時間是第幾周
阿新 • • 發佈:2018-12-15
Java程式碼
- String today = "2013-01-14";
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- Date date = null;
- try {
- date = format.parse(today);
- } catch (ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- Calendar calendar = Calendar.getInstance();
- calendar.setFirstDayOfWeek(Calendar.MONDAY);
- calendar.setTime(date);
- System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));
用到判斷日期屬於當年的第幾周,用了一個有點複雜的程式碼。看Calendar類時,看到了WEEK_OF_YEAR,很實用。但是用時又出現了點小問題,比如2010-01-03,返回的結果是2(即2010年的第二個星期),原因是美國是以週日為每週的第一天。
我想到了更改星期的起始日,setFirstDayOfWeek(int value),傳了一個1,想把週一設成第一天,但是沒有起到效果。查文件後改成了Calendar.MONDAY就好使了,卻不太清楚為什麼用1不好使,用Calendar.MONDAY就行呢?
補:又查看了一下“常量欄位值”,發現MONDAY的值根本就不是想當然的1,而是2。
SUNDAY :1
MONDYA :2
TUESDAY :3
WEDNESDAY :4
THURSDAY : 5
FRIDAY : 6
SATURDAY :7