switch ( gc.get( calendar.day_of_week ) )
{
case ( calendar.sunday ):
gc.add( calendar.date, 0 );
break;
case ( calendar.monday ):
gc.add( calendar.date, -1 );
break;
case ( calendar.tuesday ):
gc.add( calendar.date, -2 );
break;
case ( calendar.wednesday ):
gc.add( calendar.date, -3 );
break;
case ( calendar.thursday ):
gc.add( calendar.date, -4 );
break;
case ( calendar.friday ):
gc.add( calendar.date, -5 );
break;
case ( calendar.saturday ):
gc.add( calendar.date, -6 );
break;
}
return gc.gettime();
}
public static synchronized java.util.calendar getfirstdayofweek(
java.util.calendar gc )
{
/**
* 详细设计:
* 1.如果date是星期日,则减0天
* 2.如果date是星期一,则减1天
* 3.如果date是星期二,则减2天
* 4.如果date是星期三,则减3天
* 5.如果date是星期四,则减4天
* 6.如果date是星期五,则减5天
* 7.如果date是星期六,则减6天
*/
switch ( gc.get( calendar.day_of_week ) )
{
case ( calendar.sunday ):
gc.add( calendar.date, 0 );
break;
case ( calendar.monday ):
gc.add( calendar.date, -1 );
break;
case ( calendar.tuesday ):
gc.add( calendar.date, -2 );
break;
case ( calendar.wednesday ):
gc.add( calendar.date, -3 );
break;
case ( calendar.thursday ):
gc.add( calendar.date, -4 );
break;
case ( calendar.friday ):
gc.add( calendar.date, -5 );
break;
case ( calendar.saturday ):
gc.add( calendar.date, -6 );
break;
}
return gc;
}
/**
* 取得指定日期的所处月份的最后一天
*
* @param date
* 指定日期。
* @return 指定日期的所处月份的最后一天
*/
public static synchronized java.util.date getlastdayofmonth(
java.util.date date )
{
/**
* 详细设计:
* 1.如果date在1月,则为31日
* 2.如果date在2月,则为28日
* 3.如果date在3月,则为31日
* 4.如果date在4月,则为30日
* 5.如果date在5月,则为31日
* 6.如果date在6月,则为30日
* 7.如果date在7月,则为31日
* 8.如果date在8月,则为31日
* 9.如果date在9月,则为30日
* 10.如果date在10月,则为31日
* 11.如果date在11月,则为30日
* 12.如果date在12月,则为31日
* 1.如果date在闰年的2月,则为29日
*/
gregoriancalendar gc = ( gregoriancalendar ) calendar.getinstance();
gc.settime( date );
switch ( gc.get( calendar.month ) )
{
case 0:
gc.set( calendar.day_of_month, 31 );
break;
case 1:
gc.set( calendar.day_of_month, 28 );
break;
case 2:
gc.set( calendar.day_of_month, 31 );
break;
case 3:
gc.set( calendar.day_of_month, 30 );
break;
case 4:
gc.set( calendar.day_of_month, 31 );
break;
case 5:
gc.set( calendar.day_of_month, 30 );
break;
case 6:
gc.set( calendar.day_of_month, 31 );
break;
case 7:
gc.set( calendar.day_of_month, 31 );
break;
case 8:
gc.set( calendar.day_of_month, 30 );
break;
case 9: