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

React中Moment组件使用ago属性无法显示正确相对时间的问题

解决React Moment组件相对时间不显示的问题

问题出在你同时使用了format和ago属性——format会强制组件输出你指定的日期格式,直接覆盖了ago的相对时间生成逻辑,所以才会显示02/12 09:30而不是预期的“XX分钟前”。

修复步骤:

  • 移除format属性,只保留ago和interval,组件就会自动渲染相对时间:
<Moment interval="1000" ago>{lastUpdatedOnTime}</Moment>
  • 另外你转换UTC时间的代码可以简化,moment.utc直接支持ISO格式字符串,不用额外套一层new Date:
const lastUpdatedOnTime = moment.utc("2023-12-02T21:00:05.696Z");

进阶需求:同时显示相对时间和具体日期

如果需要在展示相对时间的同时,让用户能看到具体时间,可以用title属性实现hover显示:

<span title={moment(lastUpdatedOnTime).format("DD/MM hh:mm")}>
  <Moment interval="1000" ago>{lastUpdatedOnTime}</Moment>
</span>

内容的提问来源于stack exchange,提问作者Emil Tsvetanov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:42:32