el-date-picker选择时间后标准时间少1小时问题

问题

前端开发中发现Element的时间组件el-date-picker在选择选择部分时间后js对象的标准时间少1小时,如果选择的小时为0,会导致部分转换条件下结果少1天。

比如组件中选择的本地时间为:

1988-08-01 00:00:00

而js对象获取到是标准时间是:

1988-07-31T15:00:00.000Z

比熟悉的概念1988-07-31T16:00:00.000Z少了1小时

解读

经过el组件多次选择不同日期,发现这个现象在1988年9月11、12日有不同的效果:

页面上选择1988年9月11(标准时间9月10下午)就会少1小时

1988年9月12以及之后(标准时间9月11下午)就不会少。

进一步查此日期前后的事件,发现该日期是当年夏令时的结束日期。1986年至1991年,我国在全国范围实行了六年夏令时 ,每年从4月中旬的第一个星期日2时整(北京时间)到9月中旬第一个星期日的凌晨2时整(北京夏令时)。夏令时_百度百科

而上述找到的分界点1988年9月11是当年夏令时的最后一天,因此出现了前一天标准时间少了1小时,后一天标准时间正常的情况。

为避免相关问题出现,在前后端开发中,尽量使用相同的时间格式化处理策略,多用开发语言提供的时间类或其他成熟的封装类,不要在时间对象提供的封装方法之外直接对数值做编辑(比如不要将时间对象转成标准时间后手动加减数值得到本地时间)。

相关推荐
涉密IT资质笔记3 分钟前
涉密人员脱密期管理规范:期限分级模型、就业限制边界与违规认定标准
java·服务器·前端·网络·数据库
EatFan6 分钟前
Go语言全栈实战:基于 Gin + Vue + JWT + RBAC 从零搭建前后端分离权限管理系统
vue.js·golang·go·vue·gin·jwt·rbac
u01110267511 分钟前
工具页案例图如何编写 alt让图片说明与处理场景对应
java·前端·javascript·图像处理·人工智能·算法·ai作画
事圆则缓16 分钟前
Flutter 状态管理框架对比(五):GetX 的响应式、依赖注册与生命周期
前端·javascript·flutter
广州智造1 小时前
Radioss复合材料使用的单元属性
前端·设计·cad·建模·cae·radioss
张宏宇2 小时前
我把微软开源的 tgrep 做成了本地版 GitHub Code Search:45,629 个文件里搜一次 10ms
前端·后端
陈拉斯2 小时前
Vue SPA 站百度收录“全军覆没“?一次预渲染抢救的完整实战(2026 踩坑版)
vue.js
huakoh2 小时前
MCP 调用超时后别急着重试:三步读回分清执行状态
前端
打工仔折腾 AI2 小时前
把模型切换交给平台:用蓝耘智能路由搭建商品评论分析工具
java·服务器·前端·后端·python·性能优化·ai agent 实战
不可能片场2 小时前
Electron 发布标题的冒号 击穿命令行解析
前端·electron