cjnt007 发表于 2022-7-30 12:55:36

请教下,如何判断当前时间是否在指定的时间区间里

在hassos里有两个时间类型的辅助元素,在nr里获取到它们的值分别为文本“23:00:00”和“6:00:00”,想实现功能为:
当前系统时间在23:00:00~6:00:00之间为false,否则为true
这个需求如何编写?

ylilike 发表于 2022-7-30 21:20:19

装个time range 节点,node-red-contrib-time-range-switch

cjnt007 发表于 2022-7-30 22:00:07

ylilike 发表于 2022-7-30 21:20
装个time range 节点,node-red-contrib-time-range-switch

谢谢ylilike指点,已经测试成功了:victory:
在使用time range之前,没有什么好思路,用了个笨办法解决的:
function date1(a){
    var date = new Date();
    let day=date.getDate();
    let month = date.getMonth() + 1;
    return `${date.getFullYear()}-${month}-${day} ${a}`
}

dc=new Date();
ds=new Date(date1(flow.get('timestart')));
de=new Date(date1(flow.get('timeend')));

msg.payload=dc > ds && dc < de
return msg;

在使用time range时,开始不了解如何把获取的辅助元素中的时间值传递到节点里,经过一番折腾,看到帮助信息里有配置信息msg.__config可以传递变量,完美解决了我的需求。

ylilike 发表于 2022-7-31 11:35:35

cjnt007 发表于 2022-7-30 22:00
谢谢ylilike指点,已经测试成功了
在使用time range之前,没有什么好思路,用了个笨办法解决的 ...

我也跟着学了一招,呵呵
页: [1]
查看完整版本: 请教下,如何判断当前时间是否在指定的时间区间里