格式化前:
格式化后:
这里借助element-ui的日期选择器进行操作,简单的页面如下:
1 <template> 2 <div class="home"> 3 <img alt="Vue logo" src="../assets/logo.png"> 4 5 <div class="block"> 6 <span class="demonstration">日期选择:</span> 7 <el-date-picker 8 v-model="dateStr" 9 type="daterange" 10 align="right" 11 unlink-panels 12 @change="getTime" 13 range-separator="至" 14 start-placeholder="开始日期" 15 end-placeholder="结束日期" 16 :picker-options="pickerOptions"> 17 </el-date-picker> 18 </div> 19 </div> 20 </template>
data数据
1 data() { 2 return { 3 dateStr: "", 4 pickerOptions: { 5 shortcuts: [{ 6 text: '本月', 7 onClick(picker) { 8 let end = new Date(); 9 let start = new Date(); 10 start.setDate(1); 11 picker.$emit('pick', [start, end]); 12 } 13 }, { 14 text: '上月', 15 onClick(picker) { 16 let oDate = new Date(); 17 let year = oDate.getFullYear(); 18 let month = oDate.getMonth(); 19 let start, end; 20 if (month == 0) { 21 year-- 22 start = new Date(year, 11, 1) 23 end = new Date(year, 11, 31) 24 } else { 25 start = new Date(year, month - 1, 1) 26 end = new Date(year, month, 0); 27 } 28 29 picker.$emit('pick', [start, end]); 30 } 31 }] 32 }, 33 startDateStr: '', 34 endDateStr: '', 35 }; 36 },
methods
1 methods: { 2 getTime() { 3 console.log('------格式前--------'); 4 console.log(this.dateStr); 5 6 // 调用格式化方法 7 this.startDateStr = this.formatDate(this.dateStr[0]) 8 this.endDateStr = this.formatDate(this.dateStr[1]) 9 10 console.log('------格式后--------'); 11 console.log(this.startDateStr,this.endDateStr); 12 }, 13 // 转换日期格式 14 formatDate(dateTime) { 15 let date = new Date(dateTime); 16 let YY = date.getFullYear() + '-'; 17 let MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; 18 let DD = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()); 19 let hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; 20 let mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; 21 let ss = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()); 22 return YY + MM + DD + " " + hh + mm + ss; 23 }, 24 },
大功告成!再根据需要截取格式化后的日期即可。