mint-ui Datetime picker组件 / 时间选择器
endData 属性怎么表示当前时间7天后
JavaScript Code复制内容到剪贴板
- endDate: new Date(Date.parse(new Date) + 1000 * 60 * 60 * 24 * 7)
XML/HTML Code复制内容到剪贴板
- <template>
- <div class="main">
- <label>
- <h3>开始时间</h3>
- <input type="text" id="publish_start_time" @click="openPicker($event)" v-text="publish_start_time">
- <span>至</span>
- <input type="text" id="publish_end_time" @click="openPicker" v-text="publish_end_time">
- </label>
- <!--
- v-model 属性为组件的绑定值
- type 属性表示 datetime-picker 组件的类型,它有三个可能的值:
- datetime: 日期时间选择器,可选择年、月、日、时、分,value 值为一个 Date 对象
- date: 日期选择器,可选择年、月、日,value 值为一个 Date 对象
- time: 时间选择器,可选择时、分,value 值为一个格式为 HH:mm 的字符串
- @confirm 回调绑定事件,还有一个取消的事件,api并没有注明,可以用@cancle="取消后的事件名"
- -->
- <mt-datetime-picker ref="picker" v-model="pickerValue" type="datetime" @confirm="handleConfirm" ></mt-datetime-picker>
- </div>
- </template>
- <script>
- import { DatetimePicker } from 'mint-ui'
- export default {
- name: 'publishBaseForm',
- data: function() {
- return {
- pickObj: "", //当前选择时间的对象
- pickerValue: new Date(), // 选择时间的值
- publish_start_time: "", //绑定表单的开始时间的值
- publish_end_time: "", //绑定表单的结束时间的值
- }
- },
- methods: {
- openPicker(event) {
- // 打开时间选择器
- this.$refs.picker.open();
- this.pickObj = event.target; //使用当前对象赋值,以便于在回调中将值传输进去
- },
- handleConfirm() {
- //选择时间后的回调
- let data = this.formatDate(this.pickerValue); //使用formatDate格式化输出
- this.pickObj.value = data; //将选择的value值,传进表单中
- },
- formatDate(date) {
- // 格式化日期为 y-m-d H:i:s
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- mm = m < 10 ? ('0' + m) : m;
- var d = date.getDate();
- dd = d < 10 ? ('0' + d) : d;
- var h = date.getHours();
- hh = h < 10 ? ('0' + h) : h;
- var minute = date.getMinutes();
- minuteminute = minute < 10 ? ('0' + minute) : minute;
- var second = date.getSeconds();
- secondsecond = second < 10 ? ('0' + second) : second;
- return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
- },
- },
- }
- </script>
时间转换:
JavaScript Code复制内容到剪贴板
- formatDate(date, format = "yyyy-mm-dd H:i:s") {
- if(!date) {
- return "";
- }
- date = new Date(date);
- // 将接口返的时间格式转为 y-m-d H:i:s
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- m = m < 10 ? ('0' + m) : m;
- var d = date.getDate();
- d = d < 10 ? ('0' + d) : d;
- var h = date.getHours();
- h = h < 10 ? ('0' + h) : h;
- var minute = date.getMinutes();
- minute = minute < 10 ? ('0' + minute) : minute;
- var second = date.getSeconds();
- second = second < 10 ? ('0' + second) : second;
- var result;
- switch(format) {
- case 'yyyy-mm-dd':
- result = y + '-' + m + '-' + d;
- break;
- case 'yyyy/mm/dd':
- result = y + '/' + m + '/' + d;
- break;
- case 'yyyy/mm':
- result = y + '/' + m;
- break;
- case 'yyyy年mm月dd日 H:i:s':
- result = y + '年' + m + '月' + d + '日' + ' ' + h + ':' + minute + ':' + second;
- break;
- case 'yyyy/mm/dd H:i:s':
- result = y + '/' + m + '/' + d + ' ' + h + ':' + minute + ':' + second;
- break;
- default:
- result = y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
- break;
- }
- return result
- },
自定义时间模板:
XML/HTML Code复制内容到剪贴板
- <mt-datetime-picker
- v-model="pickerVisible"
- type="date"
- year-format="{value} 年"
- month-format="{value} 月"
- date-format="{value} 日">
- </mt-datetime-picker>
关于时间选择器中最小可选值 ,如果type是datetime,那么默认时间一定要Y-m-d H:i:s的格式
例:
JavaScript Code复制内容到剪贴板
- <mt-datetime-picker ref="applyEndTimePicker" type="datetime" :startDate="applyEndTimeStartTime" month-format="{value}月" date-format="{value}日" v-model="applyEndTimePickerValue" @confirm="applyEndTimeHandleConfirm"></mt-datetime-picker>
- data: function() {
- return {
- applyEndTimeStartTime:new Date("2015/12/1 1:04:03"),
- }
关于时间转换,IOS中不支持 Y-m-d H:i:s这种格式的,必须转为 Y/m/d H:i:s就可以正常了!
设置开始时间为10年前,结束时间为10年后:
JavaScript Code复制内容到剪贴板
- startDatenew Date(new Date().getFullYear() - 10, 0, 1),
- endDate:new Date(new Date().getFullYear() + 10, 0, 1),
获取当前时间的七天后:
JavaScript Code复制内容到剪贴板
- endDate: new Date(Date.parse(new Date) + 1000 * 60 * 60 * 24 * 7)
API
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
type | 组件的类型 | String | 'datetime', 'date', 'time' | 'datetime' |
cancelText | 取消按钮文本 | String | '取消' | |
confirmText | 确定按钮文本 | String | '确定' | |
startDate | 日期的最小可选值 | Date | 十年前的 1 月 1 日 | |
endDate | 日期的最大可选值 | Date | 十年后的 12 月 31 日 | |
startHour | 小时的最小可选值 | Number | 0 | |
endHour | 小时的最大可选值 | Number | 23 | |
yearFormat | 年份模板 | String | '{value}' | |
monthFormat | 月份模板 | String | '{value}' | |
dateFormat | 日期模板 | String | '{value}' | |
hourFormat | 小时模板 | String | '{value}' | |
minuteFormat | 分钟模板 | String | '{value}' |
Events
事件名称 | 说明 | 回调参数 |
---|---|---|
confirm | 点击确认按钮时的回调函数 | 目前的选择值 |