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

React中使用setHours方法未输出预期值,为何得到时间戳?

问题解答:setHours返回时间戳而非预期小时数

你遇到的问题核心是对setHours()方法的返回值理解有误:

  • setHours()的作用是修改Date对象的小时数值,但它不会返回修改后的小时数,而是返回修改后的日期对应的UTC时间戳(从1970年1月1日00:00:00 UTC到该日期的毫秒数),这就是你看到1667813785897这类长数字的原因。

要得到预期的小时数,需要先修改Date对象,再通过getHours()方法提取小时值,修正后的代码如下:

function App() {
    // 先创建Date实例
    let currDate = new Date();
    // 修改小时数(此时currDate的小时已更新为15)
    currDate.setHours(15);
    // 获取修改后的小时数
    let currHour = currDate.getHours();

    return (
    <div>
        <h1>{currHour}</h1>
    </div>
    );
}

如果想简化写法,也可以这样写:

function App() {
    let currHour = new Date(new Date().setHours(15)).getHours();

    return (
    <div>
        <h1>{currHour}</h1>
    </div>
    );
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:55:21