1.获取两个日期之间所有年月日
如图所示:
代码如下:
<template>
<div class="datePicker">
<el-date-picker
v-model="value1"
type="daterange"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
@change="datePickerChange"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
/>
</div>
</template>
<script setup lang="ts">
import { ref} from "vue";
const value1 = ref("");
const betweenData = ref([]);
const datePickerChange = (value) => {
betweenData.value = []; // 清空之前的日期列表
const start = new Date(value[0]);
const end = new Date(value[1]);
const currentDate = new Date(start);
while (currentDate <= end) {
betweenData.value.push(new Date(currentDate).toISOString().split("T")[0]);
currentDate.setDate(currentDate.getDate() + 1);
}
};
</script>
2.获取两个日期之间所有年月
如图所示:
代码如下:
<template>
<div class="datePicker">
<el-date-picker
v-model="value1"
type="monthrange"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
@change="datePickerChange"
format="YYYY-MM"
value-format="YYYY-MM"
/>
</div>
</template>
<script setup lang="ts">
import { ref} from "vue";
const value1 = ref("");
const betweenData = ref([]);
const datePickerChange = (value) => {
betweenData.value = []; // 清空之前的日期列表
const start = new Date(value[0]);
const end = new Date(value[1]);
const currentDate = new Date(start);
while (currentDate <= end) {
betweenData.value.push(currentDate.getFullYear() +"-" + (currentDate.getMonth() + 1).toString().padStart(2, "0"));
currentDate.setMonth(currentDate.getMonth() + 1);
currentDate.setDate(1);
}
};
</script>
3.获取两个日期之间所有年
如图所示:
代码如下:
<template>
<div class="datePicker">
<el-date-picker
v-model="value1"
type="monthrange"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
@change="datePickerChange"
format="YYYY-MM"
value-format="YYYY-MM"
/>
</div>
</template>
<script setup lang="ts">
import { ref} from "vue";
const value1 = ref("");
const betweenData = ref([]);
const datePickerChange = (value) => {
betweenData.value = []; // 清空之前的日期列表
const start = new Date(value[0]);
const end = new Date(value[1]);
const currentDate = new Date(start);
while (currentDate <= end) {
betweenData.value.push(currentDate.getFullYear());
currentDate.setFullYear(currentDate.getFullYear() + 1);
}
};
</script>
Only those who capture the moment are real.