vue 8小时 解决axios提交时间类型时区问题

12 篇文章 0 订阅

vue 用 axios 提交是,会少8小时的问题,
解决axios提交时间类型时区问题,qs.stringify()时区问题

用axios提交时需要qs.stringify()序列化,qs默认的时间格式化为

Date.prototype.toISOString;//返回的是格林威治时间比北京时间晚8小时
需要修改默认日期格式化方法

最经典的化功大法, 咱直接给它改了默认的方法

//moment 是需要安装的 
// npm install moment
// 一次性解决时区和日期格式问题
import moment from 'moment'
Date.prototype.toISOString = function(){ 
    return moment(this).format('YYYY-MM-DD HH:mm:ss')
} 
// 一次性解决时区和日期格式问题

//下面的是在Qs中序列化. 我不建议这样用. 没啥意义. 上面的就够了. 但是对于使用Qs的用户,又不想修改prototype的, 还是有意义的.

//第一个参数为需要序列化的数据
//第二个参数为配置选项
Qs.stringify(data, {
  serializeDate: (date) => {
      //用moment处理日期比较方便,自己写格式化方法也可以
      return moment(date).format('YYYY-MM-DD HH:mm:ss')
  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值