给定年月,得到这个月中的天数及每天是星期几(Calendar类的用法)

    1. package org.leelin.attendance.util;
    2. import java.text.ParseException;
    3. import java.text.SimpleDateFormat;
    4. import java.util.ArrayList;
    5. import java.util.Calendar;
    6. import java.util.GregorianCalendar;
    7. import java.util.List;
    8. public class CalendarTest {
    9.   
    10.   public static void main(String[] args) throws ParseException {
    11.     List<DayInfo> list = new CalendarTest().genDayInfoList(2008, 12);
    12.     System.out.println(list);
    13.   }
    14.   
    15.   public List<DayInfo> genDayInfoList(int year, int month) throws ParseException {
    16.     Calendar calendar = GregorianCalendar.getInstance();
    17.     int curDay = calendar.get(Calendar.DATE);
    18.     calendar.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(year + "-" + month + "-01"));
    19.     List<DayInfo> list = new ArrayList<DayInfo>();
    20.     int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
    21.     int weekOfFirstDay = calendar.get(Calendar.DAY_OF_WEEK);
    22.     for (int i = 1; i <= days; i++) {
    23.       DayInfo dayInfo = new DayInfo();
    24.       if (curDay == i) {
    25.         dayInfo.setSelected(true);
    26.       }
    27.       dayInfo.setId(i);
    28.       dayInfo.setName(this.getWeekName((i + weekOfFirstDay - 2) % 7));
    29.       list.add(dayInfo);
    30.     }
    31.     return list;
    32.   }
    33.   
    34.   private String getWeekName(int week) {
    35.     String[] weeks = new String[] { "星期日""星期一""星期二""星期三""星期四""星期五""星期六" };
    36.     return weeks[week];
    37.   }
    38. }
    package
     org.leelin.attendance.util;
  1. public class DayInfo {
  2.     private int id;
  3.     private String name;
  4.     private boolean selected=false;
  5.     public int getId() {
  6.         return id;
  7.     }
  8.     public void setId(int id) {
  9.         this.id = id;
  10.     }
  11.     public String getName() {
  12.         return name;
  13.     }
  14.     public void setName(String name) {
  15.         this.name = name;
  16.     }
  17.     public boolean isSelected() {
  18.         return selected;
  19.     }
  20.     public void setSelected(boolean selected) {
  21.         this.selected = selected;
  22.     }
  23.     @Override
  24.       public String toString() { // AutoGenerate
  25.         StringBuilder sb = new StringBuilder();
  26.         sb.append("<");
  27.         sb.append(" id = ").append(this.id);
  28.         sb.append(" name = ").append(this.name);
  29.         sb.append(" selected = ").append(this.selected);
  30.         sb.append(">/n");
  31.         return sb.toString();
  32.       }
  33. }
DayInfo类,用于保存星期用天数 CalendarTest类用于测试
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值