展示效果:
template中的代码
<div class="dataPicker">
<el-date-picker
v-model="dateTime"
type="daterange"
format="YYYY/MM/DD"
placeholder=""
:clearable="false"
range-separator="~"
:prefix-icon="customPrefix"
:picker-options="pickerOptions"
/>
</div>
const dateTime = ref('')
const pickerOptions = {
disabledDate(time) {
if (!dateTime.value || dateTime.value.length === 0) {
// 如果还没有选择开始时间,则不禁用任何日期
return false
}
const startTime = dateTime.value[0].getTime() // 获取开始时间的时间戳
const halfYearLater = new Date(startTime)
halfYearLater.setMonth(halfYearLater.getMonth() + 6) // 计算半年后的时间
// 禁用开始时间之前的日期和半年后的日期之后的日期
return time.getTime() < startTime || time.getTime() > halfYearLater.getTime()
}
}
//转为时间戳
function dateToTimestamp(dateString) {
// 创建一个新的 Date 对象
const date = new Date(dateString)
// 获取时间戳
const timestamp = date.getTime() / 1000 // 将毫秒转换为秒
return timestamp
}
//查询日期
const searchDateTime = () => {
const startTime = dateToTimestamp(dateTime.value[0])
const endTime = dateToTimestamp(dateTime.value[1])
console.log(startTime, endTime)
}