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

Java毫秒时间转换为ExtJS JavaScript Date对象异常问题咨询

解决Java秒级时间戳转ExtJS Date对象的问题

我来帮你搞定这个问题!你遇到的核心问题是时间戳单位不匹配:

  • Java端返回的1523357477是秒级时间戳(从1970年开始计算的总秒数)
  • 而JavaScript(包括ExtJS)的Date构造函数要求传入的是毫秒级时间戳(总秒数×1000)

直接把秒数传给new Date(),自然会得到1970年的错误日期——因为这个数值太小了,只相当于1970年1月18日的时间。

正确的转换方式

只需要把Java返回的秒数乘以1000,转换成毫秒后再创建Date对象:

// 正确写法:将秒级时间戳转为毫秒
var v = new Date(1523357477 * 1000);
// 此时v对应的就是正确的日期:Tue Apr 10 2018 14:21:17 GMT+0530 (India Standard Time)

为什么ExtJS的dateRenderer能正常转换?

Ext.util.Format.dateRenderer内部默认处理了这种单位差异——它会自动判断传入的时间戳是秒还是毫秒(或者根据你配置的格式做适配),所以直接传入秒级时间戳也能得到正确的格式化结果。如果想手动用它处理,也可以这样写:

var formattedDate = Ext.util.Format.date(new Date(1523357477 * 1000), 'd-m-Y H:i');
// 输出结果:10-04-2018 14:21

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 02:27:28