1. 程式人生 > >java獲取日期的週數和所屬年份

java獲取日期的週數和所屬年份

在專案中遇到需要匯出excel表格   表格的標題需要根據資料來動態獲取

格式為     2017年第 50  周計劃檢修申報、實施確認表

獲取日期所屬週數

Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calenar.MONDAY);//設定週一為一週的第一天
cal.setTime(date);
int num = cal.get(Calenar.WEEK_OF_YEAR);

calendar預設設定週日為第一天  需要通過setFirstDayOfWeek方法來設定  不然會導致週數錯誤

其中setFirstDayOfWeek傳入的是int引數

/**
     * Value of the {@link #DAY_OF_WEEK} field indicating
     * Sunday.
     */
    public final static int SUNDAY = 1;

    /**
     * Value of the {@link #DAY_OF_WEEK} field indicating
     * Monday.
     */
    public final static int MONDAY = 2;
    
Calendar.MONDAY是常量2

獲取日期所屬年份


直接使用Date.getYear()方法會導致獲取到一個三位數,而且該方法已經被廢棄,推薦使用calendar

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
String year = String.valueOf(calendar.get(Calendar.YEAR));