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

Node.js+MySQL项目中查询返回日期比数据库存储日期晚一天的问题求助

Node.js+MySQL项目中查询返回日期比数据库存储日期晚一天的问题求助

嗨各位开发者,我最近做Node.js+MySQL项目时碰到了一个头疼的时区相关日期问题,折腾半天没搞定,想请大家帮忙看看!

情况是这样的:前端用date类型输入框让用户选出生日期,还写了自定义JS限制只能选18年前的日期,同时禁用了手动输入避免错误。但现在出现了奇怪的问题——用户选的日期比如2005-01-05,后端接收到的却是2005-01-04T18:30:00.000Z,整整比实际选的晚了一天。我查资料说可能是UTC时区的问题,但不太清楚具体该从哪里入手修复。

下面是我的相关代码:

HTML代码

<div class="col-4">
    <label for="dob" class="form-label">Date of Birth</label>
    <input type="date" class="form-control" id="dob" name="dob" required value="{{formData.dob}}">
    <div class="invalid-feedback">Please enter your date of birth.</div>
</div>

JavaScript代码

// Set limit
const dateInput = document.getElementById("dob");
const maxDate = new Date().setFullYear(new Date().getFullYear() - 18);
dateInput.setAttribute("max", new Date(maxDate).toISOString().split('T')[0]);

dateInput.addEventListener("keydown", function(event) {
    event.preventDefault(); // Prevent typing
});
dateInput.addEventListener("input", function(event) {
    event.preventDefault(); // Prevent input
});

有没有大佬能帮我分析下问题出在哪,以及具体的修复方法呀?

备注:内容来源于stack exchange,提问作者raven

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 12:39:34