java 日期工具類

public class CalendarUtil implements Serializable {

    /**  */
    private static final long serialVersionUID = 3491231220111885316L;

    // 獲得當前日期
    public static String getDate() {
        Calendar cal = Calendar.getInstance();
        return getDate(cal);
    }

    // 獲得日期
    private static String getDate(Calendar cal) {
        String v_strDate = "";
        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
        v_strDate = formatter.format(cal.getTime());
        return v_strDate;
    }

    // 獲得本週X的日期
    public static String getThisMondayDate(int dayOfWeek) {
        Calendar cal = Calendar.getInstance();
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        int mondayPlus = getDayOfWeek(dayOfWeek);
        cal.set(Calendar.DAY_OF_WEEK, mondayPlus);
        return getDate(cal);
    }

    // 獲得下週X的日期
    public static String getNextMondayDate(int dayOfWeek) {
        Calendar cal = Calendar.getInstance();
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        int mondayPlus = getDayOfWeek(dayOfWeek);
        cal.set(Calendar.DAY_OF_WEEK, mondayPlus);
        cal.add(Calendar.DATE, 7);
        return getDate(cal);
    }

    /**
     * 獲得本月X號的日期
     * 
     * @param day
     * @return
     */
    public static String getCurrentMonthBeginDate(String day) {
        Calendar cal = Calendar.getInstance();
        if ("LASTDAY".equals(day)) {
            cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
        } else {
            cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));
        }
        return getDate(cal);
    }

    /**
     * 獲得當前日期
     * 
     * @param day
     * @return
     */
    public static String getCurrentDate() {
        Calendar cal = Calendar.getInstance();
        return getDate(cal);
    }

    /**
     * 獲取星期
     * 
     * @param day
     * @return
     */
    public static int getDayOfWeek(int day) {
        int dayofweek = 0;
        switch (day) {
            case 1:
                dayofweek = Calendar.MONDAY;
                break;
            case 2:
                dayofweek = Calendar.TUESDAY;
                break;
            case 3:
                dayofweek = Calendar.WEDNESDAY;
                break;
            case 4:
                dayofweek = Calendar.THURSDAY;
                break;
            case 5:
                dayofweek = Calendar.FRIDAY;
                break;
            case 6:
                dayofweek = Calendar.SATURDAY;
                break;
            case 7:
                dayofweek = Calendar.SUNDAY;
                break;
        }
        return dayofweek;
    }

    /**
     * 獲得下個月X號的日期
     * 
     * @param day
     * @return
     */
    public static String getNextMonthBeginDate(String day) {
        Calendar cal = Calendar.getInstance();

        if ("LASTDAY".equals(day)) {
            cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
            cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DATE));
        } else {
            cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
            cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));
        }
        return getDate(cal);
    }

    public static void main(String[] args) {
        // System.out.println(getCurrentMonthBeginDate("LASTDAY"));
//        System.out.println(getThisMondayDate(5));
//        System.out.println(getNextMondayDate(5));
        System.out.println(getCurrentDate());
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章