使用时段:“【周几】【时间】可用”,如“周一到周五全天可用”,“周一、周二14:00-22:00可用”

  1. 使用时段:“【周几】【时间】可用”,如“周一到周五全天可用”,“周一、周二14:00-22:00可用” 
    • 周几
      1. 若是大于等于3个连续的日期,则“【开始天】至【结束天】”,如“周一至周三”
        • 周一、周日不算连续
      2. 若小于3个连续的日期,或者日期是间断的,则将所有天通过分隔符“、”按顺序拼接,如“周一、周三、周四”,“周二、周三”,“周一、周六、周日”
    • 时间
      1. 若时间区间为00:00-23:59,则显示为“全天”
      2. 若时间区间非全天,则显示为“【开始时间】-【结束时间】”,如“14:00-22:00”
    if (getWeekRange() != null) {
                String timeRange = "";
                String successiveDay = "";
                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 + " 可用";
                }


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值