需求,要求选择yyyy-MM-dd格式的组件,但是传参需要yyyy-MM-dd 00:00:00,和禁止选择今天后的日期(包括今天)
这个用的时日期组件,格式为yyyy-MM-dd
<el-date-picker v-model="startTime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="date" placeholder="选择开始日期" @change="getSales" :picker-options="disabledDateOptions" />
声明变量
disabledDateOptions 的作用是,禁止选择今天以后的日期
export default {
data() {
return {
startTime: null,
endTime: null,
disabledDateOptions: {
disabledDate(time) {
const today = new Date(new Date().setHours(0, 0, 0, 0))
return time.getTime() >= today.getTime()
}
}
}
},
methods: {
tabList(e) {
this.tabActive = e
},
getSales() {
if (!this.startTime) {
this.startTime = null
this.endTime = null
} else {
const date = new Date(this.startTime)
// 确保 startTime 格式为 "yyyy-MM-dd 00:00:00"
this.startTime = this.formatDate(date) + ' 00:00:00'
// 创建新的 Date 对象并加一天作为 endTime
const endDate = new Date(date)
endDate.setDate(date.getDate() + 1) // 加一天
this.endTime = this.formatDate(endDate) + ' 00:00:00'
}
console.log(this.startTime,this.endTime )
},
// 辅助函数:格式化日期为 "yyyy-MM-dd"
formatDate(date) {
const year = date.getFullYear()
const month = (date.getMonth() + 1).toString().padStart(2, '0') // 补零
const day = date.getDate().toString().padStart(2, '0') // 补零
return `${year}-${month}-${day}`
}
}
}
这个如选择 1999-02-02 , this.startTime = 1999-02-02 00:00:00, this.endTime = 1999-02-03 00:00:00