纯Java周历的写法

import java.util.*;
import com.unigroup2000.Global;
import java.io.*;
import javax.servlet.http.*;
import java.text.*;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class WeekCalendar {
  public WeekCalendar() throws IOException{
  }
  public Calendar CalendarSetTime(String sCurrDate){
    Calendar oCalendar = Calendar.getInstance();
    Date oDate = new Date();
    SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
    if(!sCurrDate.equals("")&&sCurrDate!=null){
      try{
        oCalendar.setTime(sdf.parse(sCurrDate));
      }catch(Exception ex){
        ex.printStackTrace(System.err);
        System.out.println("日期格式转换错误:="+sCurrDate );
      }
    }
    else
      oCalendar.setTime(oDate);
    return oCalendar;
  }
  public List Calendar(HttpServletRequest request ,HttpServletResponse response,String sCurrDate){
    String[] oneWeekDay={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
    Calendar oCal=null;
    String LoopDate="",Flag="";
    int iweek=0,iCurrWeek=0;
    Date oDate = new Date();
    oCal=CalendarSetTime(sCurrDate);//设置时间
    iweek=oCal.get(Calendar.DAY_OF_WEEK)-1;
    HashMap oHashMap=new HashMap();;
    String DataSet[]= null;
    List DayAndWeek = new ArrayList();
    for(int i=iweek;i>0;i--){
      oCal.add(Calendar.DATE,-i);
      LoopDate=oCal.get(Calendar.YEAR)+"-"+(oCal.get(Calendar.MONTH)+1)+"-"+oCal.get(Calendar.DATE);
      oCal=CalendarSetTime(sCurrDate);//重置时间
      DataSet = new String[2];
      DataSet[0]=LoopDate;
      DataSet[1]=oneWeekDay[(iCurrWeek++)];
      DayAndWeek.add(DataSet);
    }
    for(int i=0;i<7-iweek;i++){
      oCal.add(Calendar.DATE,i);
      LoopDate=oCal.get(Calendar.YEAR)+"-"+(oCal.get(Calendar.MONTH)+1)+"-"+oCal.get(Calendar.DATE);
      oCal=CalendarSetTime(sCurrDate);
      DataSet = new String[2];
      DataSet[0]=LoopDate;
      DataSet[1]=oneWeekDay[(iCurrWeek++)];
      DayAndWeek.add(DataSet);
    }
    return DayAndWeek;
  }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值