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
相关产品推荐
相关产品推荐

