1.主算法如下:
private String[] getArrText() {
int dayOfWeek = TimeUtil.getDayOfWeek();
int date = TimeUtil.getDateOfMonth();
int dayOfMonth = TimeUtil.getDayOfMonth(TimeUtil.getYear(), TimeUtil.getMonth());
int dayOfMonth_Last = TimeUtil.getDayOfMonth(TimeUtil.getYear(), TimeUtil.getMonth() - 1);
for (int i = 1; i < dayOfWeek; i++) {
if ((date - (dayOfWeek - i)) > 0) {
mArrWeekText[i - 1] += TimeUtil.getDayStr((date - (dayOfWeek - i)));
} else {
mArrWeekText[i - 1] += TimeUtil.getDayStr(dayOfMonth_Last - (dayOfWeek - i) + 1);
}
}
int startId = 1;
for (int i = dayOfWeek; i <= 7; i++) {
if ((date + (i - dayOfWeek)) > dayOfMonth) {
mArrWeekText[i - 1] += TimeUtil.getDayStr(startId);
startId++;
} else {
mArrWeekText[i - 1] += TimeUtil.getDayStr(date + (i - dayOfWeek));
}
}
return mArrWeekText;
}
2.时间工具类
public class TimeUtil {
public static String getHourStr(int hour) {
if (hour < 10) {
return "0" + hour;
} else {
return "" + hour;
}
}
public static String getMinStr(int min) {
if (min < 10) {
return "0" + min;
} else {
return "" + min;
}
}
public static String getDayStr(int day) {
if (day < 10) {
return "0" + day;
} else {
return "" + day;
}
}
/**
* 根据年月获取该月份的天数
*
* @return
*/
public static int getDayOfMonth(int year, int month) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
int dayOfMonth = calendar.getActualMaximum(Calendar.DATE);
return dayOfMonth;
}
/**
* 获取当天是星期几
*
* @return
*/
public static int getDayOfWeek() {
Calendar calendar = Calendar.getInstance();
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
switch (dayOfWeek) {
case 1:
dayOfWeek = 7;// 由于默认返回值1代表星期天
break;
default:
dayOfWeek -= 1;
break;
}
return dayOfWeek;
}
/**
* 获取当天的日期
*
* @return
*/
public static int getDateOfMonth() {
Calendar calendar = Calendar.getInstance();
int dateOfMonth = calendar.get(Calendar.DATE);
return dateOfMonth;
}
/**
* 获取当年年份
*
* @return
*/
public static int getYear() {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
return year;
}
/**
* 获取当月月份
*
* @return
*/
public static int getMonth() {
Calendar calendar = Calendar.getInstance();
int month = calendar.get(Calendar.MONTH);
return month + 1;
}
public boolean isToday(){
return true;
}
}