Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果日期时间与API响应匹配,则显示/隐藏消息_Javascript_Reactjs - Fatal编程技术网

Javascript 如果日期时间与API响应匹配,则显示/隐藏消息

Javascript 如果日期时间与API响应匹配,则显示/隐藏消息,javascript,reactjs,Javascript,Reactjs,我正在使用react,我正在尝试做一些棘手的事情,我不知道如何开始。如果实际时间与API响应显示的时间相对应,我需要应用一些样式。答案是这样的: data: { actual: {progorig: "15:00 program One ", end: "18:00"} } 如果实际时间介于15:00和18:00之间,我必须对我的HTML上的一些应用样式 我可以得到执行此操作的实际时间: function refreshTime() { var dateString = new D

我正在使用react,我正在尝试做一些棘手的事情,我不知道如何开始。如果实际时间与
API
响应显示的时间相对应,我需要应用一些样式。答案是这样的:

data: {
  actual: {progorig: "15:00 program One ", end: "18:00"}
}
如果实际时间介于
15:00
18:00
之间,我必须对我的
HTML
上的一些
应用样式

我可以得到执行此操作的实际时间:

function refreshTime()
{
    var dateString = new Date().toLocaleString(
        "en-US",
        {timeZone: "America/Sao_Paulo"}
    );
    var formattedString = dateString.replace(", ", " - ");
    console.log(formattedString);
}

setInterval(refreshTime, 1000);

但是我不知道如何将当前时间与来自
API
的数据对象进行比较。注意,我不想使用
moment.js
或其他库。有什么帮助吗?谢谢

请阅读下面的示例代码,它可以解决您的问题。
var-APIData={
实际:{开始:“15:00”,结束:“18:00”}
}
函数刷新时间(){
var dateString=新日期();
var strts=APIData.actual.start.split(“:”);
var ends=APIData.actual.end.split(“:”);
var customData={
实际:{
开始:新日期(dateString.setHours(strts[0],strts[1],00)),
结束:新日期(dateString.setHours(结束[0],结束[1],00)),
}
}
var isConditionsFalls=dateString>customData.actual.start&&dateString设置间隔(刷新时间,1000)要从api响应获取开始/结束时数和分钟数,可以使用:

let数据={
实际:{预测:“15:00节目一”,结束:“18:00”}
};
让start=data.actual.progorig.match(/\d{2}:\d{2}/);
让end=data.actual.end.match(/\d{2}:\d{2}/);
console.log(开始[0]+“-”+结束[0])
.as控制台{背景色:黑色!重要;颜色:石灰;}

.作为控制台包装器{max height:100%!important;top:0;}
tanks@DMishra,但您的代码给我带来了一个错误:
严格模式下不允许使用八进制数字文字
谢谢@Shidersz我尝试了您的代码并且没有工作。。end参数是一个字符串,但他没有:我想这是问题所在,所以console.log说:
当前时间是17:30到1949之间的19:03吗?false
回答是
实际:{progorig:“15:00程序一”,end:“1800”}
@Agustinwaldbotvonbassenhei好吧,你可以对我当前的代码做一些修改,使其正常工作,但这个想法仍然成立,如果你在某个时间内无法弄清楚,我将对我的代码进行一些更新。@Agustinwaldbotvonbassenhei检查最后一个代码片段示例,它应该与您提供的新API响应一起工作。