项目:求指定日期在一个星期中的天数
需求:
(一)对指定日期(两种方式)来进行求值
1 java.util.Date
2 直接输入年、月、日
功能列表:
(一)获得指定日期在一个星期中的天数
----------------------------------
这个功能可以从一个日历类(java.util.Calendar)得到,所以可以重用。
1 为了使用该功能必须构造一个日历类,所以必须把输入方式(2种)包装成日历类
2 自然是调用日历类提供的方法来完成求值
设计:
DateCommon
public getDayOfWeek(year:int,month:int,date:int):int
public getDayOfWeek(date:java.util.Date):int
代码:
import java.util.Calendar;
import java.util.Date;
class DateCommon {
/** *//**
* 通过指定Date(java.util.Date)构造Calendar(java.util.Calendar)
*
* @param date
* 指定的日期
* @return
*/
private Calendar createCalendar(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar;
}
/** *//**
*通过指定日期构造Calendar(java.util.Calendar)
*
* @param year年
* @param month月
* @param date日
* @return
*/
private Calendar createCalendar(int year, int month, int date) {
Calendar calendar = Calendar.getInstance();
// Calendar中的月份和实际月份时间相差为1(它的1月份为0)
month = month - 1;
calendar.set(year, month, date);
return calendar;
}
/** *//** */
/** *//**
* 获得java.util.Calendar中的日期在一个星期中的天数
*/
private int getCalendarDayOfWeek(Calendar calendar) {
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
return dayOfWeek;
}
/** *//** */
/** *//**
*获得 java.util.Date中的 指定日期在一个星期中的天数
*/
public int getDayOfWeek(Date date) {
// 构造指定日期
Calendar calendar = createCalendar(date);
return getCalendarDayOfWeek(calendar);
}
/** *//** */
/** *//**
*获得指定日期在一个星期中的天数
*/
public int getDayOfWeek(int year, int month, int date) {
// 构造指定日期
Calendar calendar = createCalendar(year, month, date);
return getCalendarDayOfWeek(calendar);
}
/** *//** */
/** *//**
* 业务入口
*/
public void service() {
System.out.println(getDayOfWeek(2010, 8, 1));
}
}
主要是练习一下“正规”(我理解)的完成一个功能,暂时忽略掉健壮性!