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

为什么Moment格式化时间戳返回当前日期而非预期的指定日期?

错误原因

  1. 你传入的1529416634是秒级Unix时间戳,moment默认接收的数字类型参数为毫秒级时间戳,二者相差1000倍,直接传入moment(value)时,会将1529416634毫秒转换为日期,对应的就是1970年的错误结果。
  2. 直接调用Date(value)而非new Date(value)时,无论传入什么参数,Date()函数都会返回当前时间的字符串,所以第二种写法永远返回当前日期,和你传入的value无关。

修正方案

你可以选择两种方式修正过滤器:

  • 方式一:使用moment专门处理秒级时间戳的unix方法
Vue.filter("toDate", function (value) {
  if (value) {
    return moment.unix(value).format("yyyy-MM-DD HH:mm");
  }
});
  • 方式二:手动将秒级时间戳转为毫秒级
Vue.filter("toDate", function (value) {
  if (value) {
    return moment(Number(value) * 1000).format("yyyy-MM-DD HH:mm");
  }
});

两种方式都可以正确将1529416634转换为你预期的2018-06-19 15:57。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:57:02