Calendar使用--> 获取星期几、一周日期的函数
一、获取星期几:
private String getWeekDay(Calendar c){
if(c == null){
return "星期一";
}
if(Calendar.MONDAY == c.get(Calendar.DAY_OF_WEEK)){
return "星期一";
}
if(Calendar.TUESDAY == c.get(Calendar.DAY_OF_WEEK)){
return "星期二";
}
if(Calendar.WEDNESDAY == c.get(Calendar.DAY_OF_WEEK)){
return "星期三";
}
if(Calendar.THURSDAY == c.get(Calendar.DAY_OF_WEEK)){
return "星期四";
}
if(Calendar.FRIDAY == c.get(Calendar.DAY_OF_WEEK)){
return "星期五";
}
if(Calendar.SATURDAY == c.get(Calendar.DAY_OF_WEEK)){
return "星期六";
}
if(Calendar.SUNDAY == c.get(Calendar.DAY_OF_WEEK)){
return "星期日";
}
return "星期一";
}
二、一周日期的函数:通过在本周的星期一的Calendar上连续加1,获取一周的日期
//(1)获得当前日期与本周一相差的天数
private int getMondayPlus() {
Calendar cd = Calendar.getInstance();
// 获得今天是一周的第几天,星期日是第一天,星期二是第二天......
int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == 1) {
return -6;
} else {
return 2 - dayOfWeek;
}
}
//(2) 获得本周星期一的日期
public Calendar getCurrentMonday() {
int mondayPlus = this.getMondayPlus();
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.add(GregorianCalendar.DATE, mondayPlus);
Date monday = currentDate.getTime();
Calendar c = Calendar.getInstance();
c.setTime(monday);
return c;
}
//(3)通过在本周的星期一的Calendar上连续加1,获取一周的日期
public ArrayList<WeekInfo> getCurrentWeekInfoList(){
Calendar now = Calendar.getInstance();
todayInfo = now.get(Calendar.YEAR) + "-" + (now.get(Calendar.MONTH) + 1) + "-" + now.get(Calendar.DAY_OF_MONTH);
ArrayList<WeekInfo> weekInfoList = new ArrayList<WeekInfo>();
Calendar mondayDate = getCurrentMonday(); //本周星期一的Calendar
String monday = (mondayDate.get(Calendar.MONTH) + 1) + "月" + mondayDate.get(Calendar.DAY_OF_MONTH) + "日" + " " + "星期一";
WeekInfo weekInfo = new WeekInfo();
weekInfo.setTodayInfo(todayInfo);
weekInfo.setWeekDayInfo(monday);
weekInfo.setWeekDate(mondayDate.get(Calendar.YEAR) + "-" + (mondayDate.get(Calendar.MONTH) + 1) + "-" + mondayDate.get(Calendar.DAY_OF_MONTH));
weekInfoList.add(weekInfo);
mondayDate.add(Calendar.DAY_OF_MONTH, 1);
String tuesday = (mondayDate.get(Calendar.MONTH) + 1) + "月" + mondayDate.get(Calendar.DAY_OF_MONTH) + "日" + " " + "星期二";
WeekInfo weekInfo2 = new WeekInfo();
weekInfo2.setTodayInfo(todayInfo);
weekInfo2.setWeekDayInfo(tuesday);
weekInfo2.setWeekDate(mondayDate.get(Calendar.YEAR) + "-" + (mondayDate.get(Calendar.MONTH) + 1) + "-" + mondayDate.get(Calendar.DAY_OF_MONTH));
weekInfoList.add(weekInfo2);
mondayDate.add(Calendar.DAY_OF_MONTH, 1);
String wednesday = (mondayDate.get(Calendar.MONTH) + 1) + "月" + mondayDate.get(Calendar.DAY_OF_MONTH) + "日" + " " + "星期三";
WeekInfo weekInfo3 = new WeekInfo();
weekInfo3.setTodayInfo(todayInfo);
weekInfo3.setWeekDayInfo(wednesday);
weekInfo3.setWeekDate(mondayDate.get(Calendar.YEAR) + "-" + (mondayDate.get(Calendar.MONTH) + 1) + "-" + mondayDate.get(Calendar.DAY_OF_MONTH));
weekInfoList.add(weekInfo3);
mondayDate.add(Calendar.DAY_OF_MONTH, 1);
String thursday = (mondayDate.get(Calendar.MONTH) + 1) + "月" + mondayDate.get(Calendar.DAY_OF_MONTH) + "日" + " " + "星期四";
WeekInfo weekInfo4 = new WeekInfo();
weekInfo4.setTodayInfo(todayInfo);
weekInfo4.setWeekDayInfo(thursday);
weekInfo4.setWeekDate(mondayDate.get(Calendar.YEAR) + "-" + (mondayDate.get(Calendar.MONTH) + 1) + "-" + mondayDate.get(Calendar.DAY_OF_MONTH));
weekInfoList.add(weekInfo4);
mondayDate.add(Calendar.DAY_OF_MONTH, 1);
String friday = (mondayDate.get(Calendar.MONTH) + 1) + "月" + mondayDate.get(Calendar.DAY_OF_MONTH) + "日" + " " + "星期五";
WeekInfo weekInfo5 = new WeekInfo();
weekInfo5.setTodayInfo(todayInfo);
weekInfo5.setWeekDayInfo(friday);
weekInfo5.setWeekDate(mondayDate.get(Calendar.YEAR) + "-" + (mondayDate.get(Calendar.MONTH) + 1) + "-" + mondayDate.get(Calendar.DAY_OF_MONTH));
weekInfoList.add(weekInfo5);
mondayDate.add(Calendar.DAY_OF_MONTH, 1);
String saturday = (mondayDate.get(Calendar.MONTH) + 1) + "月" + mondayDate.get(Calendar.DAY_OF_MONTH) + "日" + " " + "星期六";
WeekInfo weekInfo6 = new WeekInfo();
weekInfo6.setTodayInfo(todayInfo);
weekInfo6.setWeekDayInfo(saturday);
weekInfo6.setWeekDate(mondayDate.get(Calendar.YEAR) + "-" + (mondayDate.get(Calendar.MONTH) + 1) + "-" + mondayDate.get(Calendar.DAY_OF_MONTH));
weekInfoList.add(weekInfo6);
mondayDate.add(Calendar.DAY_OF_MONTH, 1);
String sunday = (mondayDate.get(Calendar.MONTH) + 1) + "月" + mondayDate.get(Calendar.DAY_OF_MONTH) + "日" + " " + "星期日";
WeekInfo weekInfo7 = new WeekInfo();
weekInfo7.setTodayInfo(todayInfo);
weekInfo7.setWeekDayInfo(sunday);
weekInfo7.setWeekDate(mondayDate.get(Calendar.YEAR) + "-" + (mondayDate.get(Calendar.MONTH) + 1) + "-" + mondayDate.get(Calendar.DAY_OF_MONTH));
weekInfoList.add(weekInfo7);
return weekInfoList;
}
|