Javascript Java脚本时间与给定时间的比较

Javascript Java脚本时间与给定时间的比较,javascript,time,Javascript,Time,好吧,我想不起来了,我看了那么多关于科幻小说的帖子,但我想不出来。 我需要用硬记录的时间记录服务器时间 我试过这个 var breackfastCutOffTime = "5:30"; var lunchCutOffTime = "10:00"; var dinnerCutOffTime = "17:00"; var serverTime = currentDa

好吧,我想不起来了,我看了那么多关于科幻小说的帖子,但我想不出来。
我需要用硬记录的时间记录服务器时间

我试过这个

            var breackfastCutOffTime    = "5:30";
            var lunchCutOffTime         = "10:00";
            var dinnerCutOffTime        = "17:00";


            var serverTime = currentDate.getHours()+ ":" + currentDate.getMinutes();              

            if(Date.parse(toDay) ==  Date.parse(selectedDate)){
                if(serverTime >= breackfastCutOffTime ){
                    document.getElementById("breakfast").disabled = true;
                }else if(serverTime >= lunchCutOffTime){
                    document.getElementById("lunch").disabled = true;
                }else if(serverTime >= dinnerCutOffTime){
                    document.getElementById("dinner").disabled = true;
                }           
            } 

我知道这是无法比较的,因为时间是文本格式的。有人请帮我完成这项工作。

您可以编写一个函数,将时间(hh:mm)转换为分钟(mm)。然后您可以比较两次并相应地执行操作

伪代码:

function convert(string time) int {
  //split the time by ':'
  //convert the string hh,mm to int hour,mm
  //calculate total minutes 
  //return total  minutes
}

您可以编写一个只以分钟(mm)为单位转换时间(hh:mm)的函数。然后您可以比较两次并相应地执行操作

伪代码:

function convert(string time) int {
  //split the time by ':'
  //convert the string hh,mm to int hour,mm
  //calculate total minutes 
  //return total  minutes
}
有关更多信息,请参阅

下面是您修改过的代码。我评论了几行。根据您的逻辑进行修改

说明:

我不是将日期格式转换为字符串,而是为每个截止时间创建新的日期实例,并为该对象设置所需的时间

最后,直接比较日期对象

注意:日期对象是根据您的时区设置的。

有关详细信息,请参阅

下面是您修改过的代码。我评论了几行。根据您的逻辑进行修改

说明:

我不是将日期格式转换为字符串,而是为每个截止时间创建新的日期实例,并为该对象设置所需的时间

最后,直接比较日期对象


注意:日期对象是根据您的时区设置的。

您可以将breackfastCutOffTime、午餐截止时间和晚餐截止时间传递给以下函数,如果它们等于或大于当前时间,则返回true

function compareTime(timeToCompare) {
            var currentDate = new Date();
            var tempDate = new Date();
            var timeToCompareArray = timeToCompare.split(":");
            tempDate.setHours(timeToCompareArray[0]);
            tempDate.setMinutes(timeToCompareArray[1]);
            if (tempDate >= currentDate) {
                return true;
            } else {
                return false;
            }
        }

您可以将breakfastcutofftime、午餐切断time和晚餐切断time传递给以下函数,如果它们等于或大于当前时间,则返回true

function compareTime(timeToCompare) {
            var currentDate = new Date();
            var tempDate = new Date();
            var timeToCompareArray = timeToCompare.split(":");
            tempDate.setHours(timeToCompareArray[0]);
            tempDate.setMinutes(timeToCompareArray[1]);
            if (tempDate >= currentDate) {
                return true;
            } else {
                return false;
            }
        }

将截止时间改为日期字符串,如var breackfastCutOffTime=new date();breakfastcutofftime.setHours(parseInt('05',10),parseInt('30',10),parseInt('00',10),0);然后比较就可以了。将截止时间改为日期字符串,如var breackfastCutOffTime=new date();breakfastcutofftime.setHours(parseInt('05',10),parseInt('30',10),parseInt('00',10),0);那么比较就行了。