解决前后端日期传输因时区差异导致日期少一天的问题

前端处理

1. 发送日期字符串而非时间戳

在前端使用日期选择器(如 el-date-picker)获取日期后,将日期转换为特定格式的字符串(如 YYYY-MM-DD)发送给后端,避免直接发送带有时区信息的时间戳或日期对象。这样做的好处是将日期信息以一种通用、无歧义的格式传递,减少后端处理时区的复杂性。

vue

javascript 复制代码
<template>
  <el-form :model="warehousingForm" ref="formRef">
    <el-form-item label="生产日期" prop="productionDate">
      <el-date-picker v-model="warehousingForm.productionDate" type="date" placeholder="选择日期">
      </el-date-picker>
    </el-form-item>
    <el-form-item label="有效期" prop="expiringDate">
      <el-date-picker v-model="warehousingForm.expiringDate" type="date" placeholder="选择日期">
      </el-date-picker>
    </el-form-item>
    <el-button @click="submitForm">提交</el-button>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      warehousingForm: {
        productionDate: null,
        expiringDate: null
      }
    };
  },
  methods: {
    submitForm() {
      if (this.warehousingForm.productionDate) {
        this.warehousingForm.productionDate = this.formatDate(this.warehousingForm.productionDate);
      }
      if (this.warehousingForm.expiringDate) {
        this.warehousingForm.expiringDate = this.formatDate(this.warehousingForm.expiringDate);
      }
      // 模拟发送请求
      console.log(JSON.stringify(this.warehousingForm));
    },
    formatDate(date) {
      const d = new Date(date);
      const year = d.getFullYear();
      const month = String(d.getMonth() + 1).padStart(2, '0');
      const day = String(d.getDate()).padStart(2, '0');
      return `${year}-${month}-${day}`;
    }
  }
};
</script>
相关推荐
anyup_前端梦工厂1 小时前
了解几个 HTML 标签属性,实现优化页面加载性能
前端·html
前端御书房2 小时前
前端PDF转图片技术调研实战指南:从踩坑到高可用方案的深度解析
前端·javascript
2301_789169542 小时前
angular中使用animation.css实现翻转展示卡片正反两面效果
前端·css·angular.js
风口上的猪20153 小时前
thingboard告警信息格式美化
java·服务器·前端
程序员黄同学3 小时前
请谈谈 Vue 中的响应式原理,如何实现?
前端·javascript·vue.js
爱编程的小庄4 小时前
web网络安全:SQL 注入攻击
前端·sql·web安全
宁波阿成4 小时前
vue3里组件的v-model:value与v-model的区别
前端·javascript·vue.js
柯腾啊4 小时前
VSCode 中使用 Snippets 设置常用代码块
开发语言·前端·javascript·ide·vscode·编辑器·代码片段
Jay丶萧邦5 小时前
el-select:有关多选,options选项值不包含绑定值的回显问题
javascript·vue.js·elementui
weixin_535854225 小时前
oppo,汤臣倍健,康冠科技,高途教育25届春招内推
c语言·前端·嵌入式硬件·硬件工程·求职招聘