如何使用JavaScript生成ISO格式UTC时间戳及对应报错处理
报错原因
new Date()返回的是原生Date对象,而Date.prototype.getTime()的返回值是数字类型的时间戳(单位毫秒),不属于Date对象toISOString()是只有Date实例才拥有的方法,对数字类型调用该方法自然会抛出「不是一个函数」的类型错误。
正确实现方案
如果要直接获取ISO 8601格式的UTC时间字符串,不需要调用getTime(),直接对Date实例调用toISOString()即可:
new Date().toISOString(); // 返回示例:"2024-06-15T09:42:31.123Z"
如果需要同时拿到数字时间戳和ISO格式字符串,可以先存Date实例再分别调用对应方法:
const currentDate = new Date(); // 数字时间戳 const timeStamp = currentDate.getTime(); // ISO格式UTC时间字符串 const isoUtcStr = currentDate.toISOString();
内容的提问来源于stack exchange,提问作者nandesuka
相关产品推荐
相关产品推荐

