方式一:
使用value-format,该属性是dateValue绑定值的格式;
属性 value-format=“yyyy-MM-dd hh:mm:ss” hh 12小时制 HH 24小时制。
注意:需要先写format,再写value-format可避免选择后总显示在12点的bug;
<el-date-picker
v-model="datevalue"
type="datetimerange"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
:disabled="isDisabled">
</el-date-picker>
let data0 = this.dateValue[0]
let data1 = this.dateValue[1]
console.log('dateValue:',this.dateValue)
console.log('data0:',data0)
console.log('data1:',data1)
方式二:
if(this.dateValue!=''&&this.hourFlag!=''){//时间范围精确到小时
let time0 = new Date(JSON.parse(JSON.stringify(this.dateValue[0])))//开始时间
let time1 = new Date(JSON.parse(JSON.stringify(this.dateValue[1])))//结束时间
let time00 = this.dateFormat(time0)
let time11 = this.dateFormat(time1)
let strtTime,endTime
if(this.hourFlag == '0'){
strtTime = time00.substr(0,10)
endTime = time11.substr(0,10)
}
if(this.hourFlag == '1'){
strtTime = time00.substr(0,13)
endTime = time11.substr(0,13)
}
}
dateFormat(dataDate){
var date = new Date(dataDate);
var Y = date.getFullYear() + '-'
var M = (date.getMonth()+1<10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) +'-'
var D = (date.getDate()+1<10 ? '0'+date.getDate() : date.getDate()) + ' '
var h = (date.getHours()<10 ? '0'+date.getHours() : date.getHours() ) + ':'//只要小时,分秒不管
var m = date.getMinutes() + ':'
var s = date.getSeconds()
return Y+M+D+h+m+s
}
格式有点不正常,但只要求精确到小时,嗨无所谓了。
方式三:
npm install moment --save
import Moment from ‘moment’
Vue.prototype.moment = Moment
let start = this.moment(time[0]).format(‘yyyy-mm-dd hh:mm:ss’)
let end = this.moment(time[1]).format(‘yyyy-mm-dd hh:mm:ss’)