Javaで現在の年と月の最大日数を取得します。

2731 ワード

          ,.          。          ..
                 :


//       ;    ..
public static void main(String[] args) {
		TestExtendedWorkHourApplication a = new TestExtendedWorkHourApplication();
                                //       ,          。
		int monthMaxday = a.findMaxDayInMonth(2011, 3);
		System.out.println(maxday);
	}
	//    ;       。
	 public static int findMaxDayInMonth(int year, int month) {      
        //  Calendar    。
        Calendar calendar = Calendar.getInstance();      
        if (year > 0) {      
            calendar.set(Calendar.YEAR, year);      
        }      
              
        if (month > 0) {      
            calendar.set(Calendar.MONTH, month - 1);      
        }      
              
        return findMaxDayInMonth(calendar);      
	    }  
	 
	 public static int findMaxDayInMonth(Calendar calendar) {      
        if (calendar == null) {      
            return 0;      
        }          
                    //           。
	    return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);      
	 }
 
 
 
Calendar time=Calendar.getInstance(); 
time.clear(); 
time.set(Calendar.YEAR,year); //year   int 
time.set(Calendar.MONTH,i-1);//  ,Calendar       0           
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//       
 :   set    ,   clear  ,                 

//Calendar Date    

(1) Calendar   Date 
Calendar cal=Calendar.getInstance(); 
Date date=cal.getTime(); 

(2) Date   Calendar 
Date date=new Date(); 
Calendar cal=Calendar.getInstance(); 
cal.setTime(date); 

//         

Date date=new Date(); 
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
String time=df.format(date); 
System.out.println(time); 

4.           

(1)               
Calendar cal=Calendar.getInstance(); 
cal.set(Calendar.YEAR, 2006); 
cal.set(Calendar.MONTH,; 
cal.set(Calendar.DAY_OF_MONTH, 3); 
int weekno=cal.get(Calendar.WEEK_OF_YEAR); 

(2)              
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); 
Calendar cal=Calendar.getInstance(); 
cal.set(Calendar.YEAR, 2006); 
cal.set(Calendar.WEEK_OF_YEAR, 1); 
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); 
System.out.println(df.format(cal.getTime())); 
  : 
2006-01-02 

5.add() roll()   (    ) 

(1)add()   
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); 
Calendar cal=Calendar.getInstance(); 
cal.set(Calendar.YEAR, 2006); 
cal.set(Calendar.MONTH,; 
cal.set(Calendar.DAY_OF_MONTH, 3); 
cal.add(Calendar.DATE, -4); 
Date date=cal.getTime(); 
System.out.println(df.format(date)); 
cal.add(Calendar.DATE, 4); 
date=cal.getTime(); 
System.out.println(df.format(date)); 
  : 
    2006-08-30 
      2006-09-03