1. 程式人生 > >通過具體的年月獲取當前年月中最大天數、本天所屬周!

通過具體的年月獲取當前年月中最大天數、本天所屬周!

public class test {

public static void main(String[] args) {
int currentMaxDays = getCurrentMonthDay();  
        int maxDaysByDate = getDaysByYearMonth(2012, 11);  
        String week = getDayOfWeekByDate("2012-12-25");  
        System.out.println("本月天數:" + currentMaxDays);  
        System.out.println("2012年11月天數:" + maxDaysByDate);  
        System.out.println("2012-12-25是:" + week); 
}

/** 
     * 獲取當月的 天數 
     * */  
    public static int getCurrentMonthDay() {  


        Calendar a = Calendar.getInstance(); 
        a.set(Calendar.DATE, 1);  //年
        a.roll(Calendar.DATE, -1);  //月
        int maxDate = a.get(Calendar.DATE);  
        return maxDate;  
    }  


    /** 
     * 根據年 月 獲取對應的月份 天數 
     * */  
    public static int getDaysByYearMonth(int year, int month) {  


        Calendar a = Calendar.getInstance();  
        a.set(Calendar.YEAR, year);  
        a.set(Calendar.MONTH, month - 1);  
        a.set(Calendar.DATE, 1);  
        a.roll(Calendar.DATE, -1);  
        int maxDate = a.get(Calendar.DATE);  
        return maxDate;  
    }  


    /** 
     * 根據日期 找到對應日期的 星期 
     */  
    public static String getDayOfWeekByDate(String date) {  
        String dayOfweek = "-1";  
        try {  
            SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");  
            Date myDate = myFormatter.parse(date);  
            SimpleDateFormat formatter = new SimpleDateFormat("E");  
            String str = formatter.format(myDate);  
            dayOfweek = str;  


        } catch (Exception e) {  
            System.out.println("錯誤!");  
        }  
        return dayOfweek;  
    }
}