找回密码
 立即注册

微信扫码登录

搜索
楼主: ghostist

[流程系列] 【破案了】nodered下时间早8小时

[复制链接]

10

主题

211

回帖

1823

积分

金牌会员

积分
1823
金钱
1602
HASS币
0
发表于 2025-7-25 20:16:00 | 显示全部楼层
hungheo 发表于 2024-7-27 23:09
我也是怎么设置都没用,最后用function转换一下时区,暂时解决

麻烦把函数贴出来一下好吗?感谢
回复

使用道具 举报

11

主题

263

回帖

2611

积分

金牌会员

积分
2611
金钱
2332
HASS币
20
发表于 2025-7-25 22:00:24 | 显示全部楼层
tangyali 发表于 2025-7-25 20:16
麻烦把函数贴出来一下好吗?感谢
// UTC+0 时间转换成北京时间UTC+8
function toBeijingTime(timeStr) {
    const date = new Date(timeStr);
    const localTime = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(),
                               date.getUTCHours() + 8, date.getUTCMinutes(), date.getUTCSeconds());
    return `${localTime.getHours().toString().padStart(2, '0')}:${localTime.getMinutes().toString().padStart(2, '0')}`;
}

使用:
const time = toBeijingTime(任意UTC+0时间);

回复

使用道具 举报

10

主题

211

回帖

1823

积分

金牌会员

积分
1823
金钱
1602
HASS币
0
发表于 2025-7-26 10:58:54 | 显示全部楼层
hungheo 发表于 2025-7-25 22:00
使用:
const time = toBeijingTime(任意UTC+0时间);

感谢,非常简洁有效
回复

使用道具 举报

0

主题

1

回帖

21

积分

新手上路

积分
21
金钱
20
HASS币
0
发表于 2025-7-29 11:46:38 | 显示全部楼层
用下面的JS就可以转换时间显示格式:
const timestampMs = msg.payload; // 比如 1753759933120
const date = new Date(timestampMs);
msg.payload = date.toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' });
return msg;
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-8-31 21:58 , Processed in 0.078200 second(s), 5 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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