axios向后端发送时间(date)类型时遇到时区自动转换

一、问题描述:
使用axios向后端发送时间(date)类型时,时区自动转换,后端接收到的时间数据不正确(时区不正确,提早八小时)
提交代码如下:


【axios向后端发送时间(date)类型时遇到时区自动转换】axios向后端发送时间(date)类型时遇到时区自动转换
文章图片

在使用axios提交数据时,可以通过浏览器的Network工具看到请求数据,发现客户端的时间和发送到后端的时间数据并不一样,这就导致后端接收到的时间数据也不正确。通过观察可以得知,提交的时间要比客户端时间早八个小时,也就是从东 8 区(中国北京)的时间自动转换到 0 时区(格林威治)的时间,导致后端收到的也是0时区的时间。
axios向后端发送时间(date)类型时遇到时区自动转换
文章图片

二、解决方案:
  1. 后端使用ToLocalTime()转换为本地时间
    axios向后端发送时间(date)类型时遇到时区自动转换
    文章图片
  2. 使用moment.js插件

axios向后端发送时间(date)类型时遇到时区自动转换
文章图片

axios向后端发送时间(date)类型时遇到时区自动转换
文章图片

使用moment插件进行日期格式化,会发现发送的时间数据不会自动转换时区了

    推荐阅读