一行式JavaScript Date.setTime创建对象用于Google Charts是否正确?
Google Charts中Date对象创建异常排查
- 场景:从Flask获取数据并循环处理生成Google Charts图表,尝试用一行代码创建Date对象存入图表列,使用
new Date().setTime(1660549080000.0)时功能异常,后续通过自定义函数实现需求,需确认问题根源。
问题根源
new Date().setTime(timestamp)的返回值不是Date对象,而是更新后的时间戳数值(毫秒数)。Google Charts的时间列要求传入Date实例,直接把数值存入会导致图表无法正确解析时间数据,从而出现功能异常。
正确实现方式
1. 一行代码的正确写法
无需调用setTime,直接将时间戳传入Date构造函数即可:
new Date(1660549080000.0)
该表达式会直接返回正确的Date实例,可直接存入Google Charts的列中。
2. 自定义函数优化(可选)
你编写的timestampGen函数是可行的,但可以简化逻辑:
function timestampGen(timestamp) { return new Date(timestamp); }
直接通过构造函数生成Date实例,效果与原函数一致,代码更简洁。
内容的提问来源于stack exchange,提问作者Alexandre D
相关产品推荐
相关产品推荐

