热搜:fiddler git ip ios 代理
历史搜索

Vue项目 el

游客2024-09-09 07:30:02

需求:因为表格数据量大,所以后端设计要求只下载 7 天以内数据,所以就需要计算两个日期范围间隔天数来下载 Excel。我这里使用的是 elementui 的 el-date-picker 组件,具体实现方法看下面。

HTML

<el-date-picker
  v-model="times"
  type="datetimerange"
  :default-time="['00:00:00', '00:00:00']"
  align="right"
  unlink-panels
  range-separator="至"
  value-format="yyyy-MM-dd HH:mm:ss"
  start-placeholder="开始日期"
  end-placeholder="结束日期"
  :picker-options="pickerOptions"
  clearable
  @change="clearTime">
</el-date-picker>

Vue项目 el 1

然后,封装一个函数计算日期间隔天数

getDaysBetweenDates(date1, date2) {
    // 获取两个日期的时间戳
    var timestamp1 = new Date(date1).getTime();
    var timestamp2 = new Date(date2).getTime();
  
    // 计算差值(单位:毫秒),并将其转换为天数
    var days = Math.abs((timestamp2 - timestamp1) / (1000 * 60 * 60 * 24));
     
    return Math.ceil(days);  // 结果向上取整,返回天数
}

函数接受两个参数(date1 和 date2),这两个参数是字符串,代表日期,可以是任何有效的日期格式,如 “YYYY/MM/DD”、”MM/DD/YYYY” 或 “January 31, 2000” 等。

这个函数首先将这两个日期转换为时间戳,然后计算这两个时间戳的差值,并将这个差值转换为天数。最后,结果被向上取整,因为我们通常把任何部分的天数都计入整天。