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