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

JavaScript调用setHours()返回异常日期值如何转换为标准可读格式

核心原因

setHours() 是JavaScript Date对象的内置可变方法,它会直接修改原Date对象的小时值,返回值不是修改后的Date对象,而是修改后时间对应的毫秒级Unix时间戳(数字类型),因此直接打印返回值会输出数字,不是格式异常。

解决方案

要得到和第一个console.log(date)格式一致的日期输出,两种常用方式:

  • 方式一:直接打印修改后的原Date对象
    setHours本身已经修改了原date变量的值,不需要处理返回值,直接打印修改后的date即可:
const date = new Date()
console.log(date)
date.setHours(5)
console.log(date)
  • 方式二:将返回的时间戳转换为Date对象
    如果你的业务场景需要接收setHours的返回值,把时间戳传入new Date()构造函数即可转为标准Date对象:
const date = new Date()
console.log(date)
const modifiedTimestamp = date.setHours(5)
console.log(new Date(modifiedTimestamp))

如果需要自定义日期输出格式,还可以搭配toLocaleString()、toISOString()、toDateString()等Date内置方法按需调整输出效果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:06:04