解决vue axios提交日期,服务器接收少一天的问题

vue开发,页面上Element的日期选择器选择的日期,使用axios提交到服务器端。

选择时间提交后,发现后台获取的时间少了8个小时,如只有日期的会少一天,比如你选择的是 2025-12-10,服务器接收到的是2025-12-09。

这是因为用axios提交时需要qs.stringify()序列化,

qs默认的时间格式化为Date.prototype.toISOString;

返回的是格林威治时间比北京时间晚8小时

解决办法:

在vue工程的package.json文件引入moment包

复制代码
"moment": "^2.30.1"

在main.js里面添加代码

复制代码
// 解决时区和日期格式问题
import moment from 'moment'

Date.prototype.toISOString = function(){
    return moment(this).format('YYYY-MM-DD HH:mm:ss')
    //或者选择带时区的格式 YYYY-MM-DDTHH:mm:ss.SSS[Z]
    //return moment(this).format("YYYY-MM-DDTHH:mm:ss.SSS[Z]");
}

如果你不想全局处理,也可以这样:

复制代码
axios.defaults.transformRequest.unshift((params) => {
   if (params) {
     Object.keys(params).forEach((key) => {
       if (params[key] instanceof moment) {
         params[key] = params[key].format('YYYY-MM-DDTHH:mm:ss.SSS\\Z')
       }
    })
   }
   return params
 })

相关推荐
一心只读圣贤书1 分钟前
AI 辅助前端视觉回归治理:从截图基线到变更解释
前端·人工智能
嘟嘟07174 分钟前
用单例模式管理弹窗:从一段原生 JS 理解 Singlet
前端·javascript·代码规范
广东程序猿小展6 分钟前
《007初露锋芒》风灵月影13项修改器下载 007初露锋芒修改器使用方法
开发语言·javascript·ecmascript
一心只读圣贤书7 分钟前
AI 辅助前端图片资源治理:从懒加载到多端适配
前端·人工智能
一心只读圣贤书10 分钟前
AI 辅助前端 Feature Flag 治理:从灰度开关到实验复盘
前端·人工智能
胡萝卜术12 分钟前
编译期与运行期的双重防线:从 TypeScript 类型之争到 LLM 输出的自动化择优
前端·设计模式·面试
Goodbye14 分钟前
前端路由深度解析:从原理到 React Router 实战
前端
何时梦醒20 分钟前
🤖 Harness 工程:用 LLM as Judge + Best of N 打造自优化的 AI 代码生成流水线
前端·人工智能
用户69190268133921 分钟前
Harness工程的概念,以及简单的代码示例
javascript·架构
AI_paid_community27 分钟前
如何使用 Claude 在 AI 时代快速入局新的行业?(经验贴)
前端·javascript·后端