针对于vue element-plus组件的el-date-picker日期区间组件的日期格式问题以及如何进行区间判断

复制代码
<template>
 <el-date-picker v-model="value1" type="daterange" range-separator="To" start-placeholder="开始日期" end-placeholder="结束日期" :size="size" @change="sarend" />
</template>

<script setup>
const tableData = ref([])
const formattedDates = ref([])
const value1 = ref('')
</script>

const sarend = () => {
  // 对每个输入日期进行处理
  value1.value.forEach((date) => {
    let inputDate = new Date(date); // 将输入的字符串日期转换为 Date 对象
    let year = inputDate.getFullYear(); // 获取年份
    let month = inputDate.getMonth() + 1; // 获取月份(月份范围是 0 到 11,因此需要加 1)
    let day = inputDate.getDate(); // 获取日期
    let formattedDate =
      year +
      '-' +
      (month < 10 ? '0' + month : month) +
      '-' +
      (day < 10 ? '0' + day : day); // 格式化日期为 'YYYY-MM-DD' 形式
    formattedDates.value.push(formattedDate); // 将格式化后的日期保存起来
  });

  let startTimestamp = new Date(formattedDates.value[0]).getTime(); // 获取开始日期的时间戳
  let endTimestamp = new Date(formattedDates.value[1]).getTime(); // 获取结束日期的时间戳

  let result = tableData.value.filter((item) => {
    let itemTimestamp = new Date(item.create_time).getTime(); // 获取数据项的时间戳
    return itemTimestamp >= startTimestamp && itemTimestamp <= endTimestamp; // 返回在日期范围内的数据项
  });

  tableData.value = result; // 更新表格数据
};
相关推荐
crary,记忆1 分钟前
Angular如何让整个项目的所有页面能够整体缩小一定的比例?
javascript·ecmascript·angular.js
一嘴一个橘子9 分钟前
vue.js 视频截取为 gif - 2(将截取到的gif 转换为base64 、file)
vue.js
Mintopia15 分钟前
🤖 算法偏见修正:WebAI模型的公平性优化技术
前端·javascript·aigc
Mintopia18 分钟前
🧩 TypeScript防御性编程:让Bug无处遁形的艺术
前端·typescript·函数式编程
JarvanMo21 分钟前
🔔 Flutter 本地通知: 吸引用户的完整指南—即使在他们离线时也能实现
前端
你想考研啊26 分钟前
一、redis安装(单机)和使用
前端·数据库·redis
江城开朗的豌豆28 分钟前
小程序与H5的“握手言和”:无缝嵌入与双向通信实战
前端·javascript·微信小程序
天蓝色的鱼鱼28 分钟前
React 19 发布一年后:对比 React 18,带来了哪些惊喜与变革
前端·react.js
你的电影很有趣32 分钟前
lesson73:Vue渐进式框架的进化之路——组合式API、选项式对比与响应式新范式
javascript·vue.js
江城开朗的豌豆33 分钟前
小程序静默更新?用户却无感?一招教你“强提醒”
前端·javascript·微信小程序