李敏  
日历
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
统计
  • 随笔 - 1
  • 文章 - 40
  • 评论 - 4
  • 引用 - 0

导航

常用链接

留言簿(1)

文章分类

文章档案

相册

收藏夹

它山之石

聚贤庄

搜索

  •  

最新评论

 
项目:求指定日期在一个星期中的天数

需求:
(一)对指定日期(两种方式)来进行求值
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(
201081));
    }

}

主要是练习一下“正规”(我理解)的完成一个功能,暂时忽略掉健壮性

posted on 2010-08-24 17:01 李敏 阅读(287) 评论(0)  编辑  收藏 所属分类: 算法

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 李敏 Powered by: 博客园 模板提供:沪江博客