You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Javascript/React中格式化设备ID与日期的技术问询

解决日志条目里的MAC地址和日期格式化问题

我来帮你修复这两个显示问题,咱们直接调整代码逻辑就行:

1. 修复MAC地址格式丢失冒号的问题

你当前的replace正则表达式/[{(":'")}]/g把冒号(:)也包含进去删除了,这就是MAC地址变成无冒号格式的原因。咱们把冒号从正则里移除,就能保留MAC地址的原始格式:

action: snapshot.val().auditLogs[date].log.replace(/[{("'")}]/g, "")

2. 用MomentJS格式化友好的日期格式

你已经在使用MomentJS了,直接用它解析原始日期字符串并输出目标格式即可。原始日期是YYYYMMDDTHHmmss格式(比如20191115T142402),我们可以用moment(date, "YYYYMMDDTHHmmss")解析,再用format("YYYY:MM:DD-HH:mm:ss")生成易读格式:

date: moment(date, "YYYYMMDDTHHmmss").format("YYYY:MM:DD-HH:mm:ss")

修改后的完整代码片段

把这两个修复整合到你的代码里,最终的forEach部分会是这样:

keys_in_audit_logs.forEach(date => {
  logs.push({
    user: snapshot.val().auditLogs[date].authorizedBy,
    // 修复MAC地址:移除正则里的冒号,保留原始格式
    action: snapshot.val().auditLogs[date].log.replace(/[{("'")}]/g, ""),
    // 用MomentJS格式化日期为清晰易读的格式
    date: moment(date, "YYYYMMDDTHHmmss").format("YYYY:MM:DD-HH:mm:ss")
  });
});

这样修改后,前端页面展示的日志条目里:

  • MAC地址会保持E5:29:C7:E2:B7:64的带冒号格式
  • 日期会变成2019:11:15-14:24:02这种清晰易读的格式

另外提醒一下,确保你的React组件已经正确引入了MomentJS(比如通过import moment from 'moment'),这样格式化逻辑才能正常工作。

内容的提问来源于stack exchange,提问作者Shaho Soltani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:05:20