获取一个长度为7的boolean[] 数组根据值展示使用时段:
使用时段:“【周几】【时间】可用”,如“周一到周五全天可用”,“周一、周二14:00-22:00可用”
周几
- 若是大于等于3个连续的日期,则“【开始天】至【结束天】”,如“周一至周三”
- 周一、周日不算连续
- 若小于3个连续的日期,或者日期是间断的,则将所有天通过分隔符“、”按顺序拼接,如“周一、周三、周四”,“周二、周三”,“周一、周六、周日”
public String getOperateTimeStr() {
String timeRange = "";
String successiveDay = "";
if (getWeekRange() != null) {
int successiveStart = 0;
int successiveEnd;
for (int i = 0; i < getWeekRange().length; i++) {
if (!getWeekRange()[i]) {
successiveEnd = i - 1;
if (successiveDay.length() >= 3) {
timeRange += "周" + getWeekNumForChinese(successiveStart) + "至周" + getWeekNumForChinese(successiveEnd);
successiveDay = "";
} else {
switch (successiveDay.length()) {
case 0:
break;
case 1:
if (timeRange.length() == 0) {
timeRange += "周" + getWeekNumForChinese(successiveEnd);
} else {
timeRange += "、周" + getWeekNumForChinese(successiveEnd);
}
break;
case 2:
if (timeRange.length() == 0) {
timeRange += "周" + getWeekNumForChinese(successiveStart) + "、周" + getWeekNumForChinese(successiveEnd);
} else {
timeRange += "、周" + getWeekNumForChinese(successiveStart) + "、周" + getWeekNumForChinese(successiveEnd);
}
break;
}
successiveDay = "";
}
successiveStart = i + 1;
} else {
successiveDay += getWeekNumForChinese(i);
if (i == getWeekRange().length - 1) {
if (timeRange.length() > 0) {
timeRange += "、周" + getWeekNumForChinese(successiveStart) + "至周" + getWeekNumForChinese(getWeekRange().length - 1);
} else {
timeRange = "周" + getWeekNumForChinese(successiveStart) + "至周" + getWeekNumForChinese(getWeekRange().length - 1);
}
}
}
}
// if (getWorkTime() == null) {
// timeRange += " 全天可用";
// } else {
// String startTime = getWorkTime().startHour + ":" + (getWorkTime().startMinute > 10 ? getWorkTime().startMinute : "0" + getWorkTime().startMinute);
// String endTime = getWorkTime().endHour + ":" + (getWorkTime().endMinute > 10 ? getWorkTime().endMinute : "0" + getWorkTime().endMinute);
// timeRange += " " + startTime + "-" + endTime + " 可用";
// }
}
return (timeRange + " " + getBusinessDay());
}