如何写if来求工作时间

cyyjm 2019-09-24 03:51:29
我想求取工作时间,
对于小于8点的时间,统一输出8点00,
对于时间是8:00-12:00,就输出输入的时间参数,
对于时间是12:01-14:30的,就输出12:00,
对于时间为14:31-17:30的,就输出输入的时间参数,
对于17:30以后的时间,就输出17:30.

我写了if语句,写得不好,请大家指教一下。谢谢。


function returnRealWorkTime(t_hour,t_min) {
var correctHour=0,correctMin=0;
if(t_hour < 8){correctHour = 8;correctMin= 0;}
else if(8 <= parseInt(t_hour) < 12){correctHour = t_hour;correctMin= t_min;}
else if(12<= parseInt(t_hour) < 14){correctHour = 12;correctMin= 0;}
else if(parseInt(t_hour)=14 && parseInt(t_min) < 30){correctHour = 12;correctMin= 0;}
else if(parseInt(t_hour)=14 && parseInt(t_min) >= 30 ){correctHour = t_hour;correctMin= t_min;}
else if( 14<parseInt(t_hour)<=17 && parseInt(t_min) <= 30){correctHour = t_hour;correctMin= t_min;}
else if(parseInt(t_hour)=17 && parseInt(t_min) > 30){correctHour = 17;correctMin= 30;}
else {correctHour = 17;correctMin= 30;}
return correctHour + ':' + correctMin;

}
var x6 = returnRealWorkTime(14,15); //想输出12:00,但输出14:15
var x7 = returnRealWorkTime(12,39); //想输出12:00,但输出12:39
var x8 = returnRealWorkTime(18,39); //想输出17:30,但输出18:39
...全文
154 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
前端_小菜鸟 2019-09-24
  • 打赏
  • 举报
回复

function returnRealWorkTime(t_hour, t_min) {
            var correctHour = 0, correctMin = 0;
            if (t_hour < 8) { correctHour = 8; correctMin = 0; }
            else if (parseInt(t_hour) < 12) { 
                correctHour = t_hour; correctMin = t_min; 
            }
            else if (parseInt(t_hour) < 14) {
                correctHour = 12; correctMin = 0;
            }
            else if (parseInt(t_hour) == 14 && parseInt(t_min) < 30) {
                correctHour = 12; correctMin = 0;
            } else if (parseInt(t_hour) < 17) {
                correctHour = t_hour; correctMin = t_min;
            } else if (parseInt(t_hour) == 17 && parseInt(t_min) <= 30) { 
                correctHour = t_hour; correctMin = t_min; 
            }else {
                correctHour = 17; correctMin = 30;
            }
            return correctHour + ':' + correctMin;

        }
拿你代码做了一点修改
scscms太阳光 2019-09-24
  • 打赏
  • 举报
回复
    function returnRealWorkTime(h, m) {
if (h > 17 || h === 17 && m > 30) {
return '17:30'
} else if (h > 14 || h === 14 && m > 30) {
return h + ':' + ('0' + m).slice(-2)
} else if (h > 11) {
return '12:00'
} else if (h > 7) {
return h + ':' + ('0' + m).slice(-2)
} else {
return '8:00'
}
}
for (let h = 0; h < 24; h++) {
for (let m = 0; m < 60; m++) {
console.log(h + ':' + m, returnRealWorkTime(h, m))
}
}
天际的海浪 2019-09-24
  • 打赏
  • 举报
回复

function returnRealWorkTime(t_hour,t_min) {
	var t = t_hour*100+t_min;
	if (t < 800) return "8:00";
	if (t > 1200 && t <1430) return "12:00";
	if (t > 1730 ) return "17:30";
	return t_hour + ':' + (t_min>9?"":"0") + t_min;
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧