datepick 提交数据日期少一天,小8小时,时区格式化问题

在使用ant design 中,使用了

a-date-picker 以及 moment 和 axios等插件时

选择时间提交后,发现后台获取的时间少了8个小时,如只有日期的却少了一天。

后面经过跟踪发现是moment格式化使用了 

this.toDate().toISOString()

因此改写该moment日期格式化方法

/** 两种格式化日期时间方法,解决时间提交后因时区问题减了8小时
 *
 */
// 第一种方法,通过axios的方法增加过滤moment类型数据进行格式化
// 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
// })
// 第二种直接覆盖moment中的toISOString方法
moment.fn.toISOString = function () {
  return this.format('YYYY-MM-DDTHH:mm:ss.SSS[Z]')
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值