『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 7636|回复: 65

[技术探讨] 拥抱NodeRED,无需第三方节点直接官方节点之倒计日与工休日

  [复制链接]

26

主题

211

帖子

2273

积分

论坛技术达人

积分
2273
金钱
2057
HASS币
20
发表于 2023-11-5 12:06:35 | 显示全部楼层 |阅读模式
本帖最后由 nuknoop 于 2023-11-5 12:10 编辑

倒计日,无需其他第三方节点,仅需fun节点

游客,如果您要查看本帖隐藏内容请回复



工作日与休息日,无需其他第三方节点,仅需fun节点
游客,如果您要查看本帖隐藏内容请回复



回复

使用道具 举报

0

主题

11

帖子

98

积分

注册会员

Rank: 2

积分
98
金钱
87
HASS币
0
发表于 2023-11-5 13:59:28 | 显示全部楼层
嘻嘻,有这个需要,看看
回复

使用道具 举报

17

主题

800

帖子

5736

积分

论坛元老

Rank: 8Rank: 8

积分
5736
金钱
4931
HASS币
0
发表于 2023-11-5 15:26:12 | 显示全部楼层
工作日和休息日,除了周末,你还需要这玩意

      {# 定义休息日一览 #}
      {% set holidayList = ["0101","0102","0121","0122","0123","0124","0125","0126","0127","0405","0429","0430","0501","0502","0503","0622","0623","0624","0929","0930","1001","1002","1003","1004","1005","1006"] %}
      {# 定义调休日期一览 #}
      {% set noHolidayList = ["0128","0129","0423","0506","0625","1007","1008"] %}

可以找地方抓,不过一年一次的手改也没事。
回复

使用道具 举报

1

主题

19

帖子

84

积分

注册会员

Rank: 2

积分
84
金钱
65
HASS币
0
发表于 2023-11-5 21:00:08 | 显示全部楼层
下来看看
回复

使用道具 举报

3

主题

44

帖子

461

积分

中级会员

Rank: 3Rank: 3

积分
461
金钱
417
HASS币
0
发表于 2023-11-6 10:33:24 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

22

主题

319

帖子

3929

积分

论坛元老

Rank: 8Rank: 8

积分
3929
金钱
3605
HASS币
30
发表于 2023-11-6 10:52:14 | 显示全部楼层
非常棒,很实用的功能
回复

使用道具 举报

3

主题

44

帖子

307

积分

中级会员

Rank: 3Rank: 3

积分
307
金钱
263
HASS币
0
发表于 2023-11-6 10:59:29 | 显示全部楼层
感谢分享 我看看
回复

使用道具 举报

6

主题

181

帖子

1424

积分

金牌会员

Rank: 6Rank: 6

积分
1424
金钱
1243
HASS币
0
发表于 2023-11-6 10:59:55 | 显示全部楼层
微信截图_20231106105930.png 复制到function节点报错
回复

使用道具 举报

12

主题

434

帖子

2340

积分

金牌会员

Rank: 6Rank: 6

积分
2340
金钱
1906
HASS币
0
发表于 2023-11-6 11:01:41 | 显示全部楼层
能弄个专门的生日提醒吗,原来那个是各种集合的
回复

使用道具 举报

22

主题

319

帖子

3929

积分

论坛元老

Rank: 8Rank: 8

积分
3929
金钱
3605
HASS币
30
发表于 2023-11-6 15:27:00 | 显示全部楼层
本帖最后由 MX10085 于 2023-11-6 15:31 编辑
mr_chenxc 发表于 2023-11-6 10:59
复制到function节点报错
var now = new Date();

var isWorkday = now.getDay() >= 1 && now.getDay() <= 5;
var isWeekend = now.getDay() === 0 || now.getDay() === 6;

if (isWorkday) {
    var sentence = "工作日";
} else if (isWeekend) {
    var sentence = "休息日";
} 

msg.payload = {
    speak: sentence
};

return msg;
另一个:
var now = new Date();
var targetDate = new Date(2024, 1, 10); // 月份 - 1,1 即是 2 月

var daysRemaining = Math.ceil((targetDate.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));

var sentence = `距离 春节 2024 年 2 月 10 日还剩 ${daysRemaining} 天。`;

msg.payload = {
    speak: sentence
};

return msg;


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 17:23 , Processed in 0.167672 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表