iview日期控件获取的数据的转换

a.vue
import { parseTime } from '@/libs/tools'
<FormItem label="下单日期" prop="createDate">
                        <DatePicker type="daterange" style="width: 220px" v-model="createDate" confirm
                            @on-change="timeChange">
                        </DatePicker>
 </FormItem>
 
timeChange() {
                if (this.createDate.length && this.createDate[0] && this.createDate[1]) {
                    this.formInline.createDateStart = parseTime(this.createDate[0]);
                    this.formInline.createDateEnd = parseTime(this.createDate[1]);
                } else {

                    this.formInline.createDateStart = ''
                    this.formInline.createDateEnd = ''
                }
            },
 
 
 tools.vue
/**
 * @param {Number} time 字符串的时间或者对象的字段
 * @param {Number} cFormat 返回的格式
 */
export const parseTime = (time, cFormat) => {
  if (arguments.length === 0) {
    return null
  }
  const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
  let date
  if (typeof time === 'object') {
    date = time
  } else {
    if (('' + time).length === 10) time = parseInt(time) * 1000
    date = new Date(time)
  }
  const formatObj = {
    y: date.getFullYear(),
    m: date.getMonth() + 1,
    d: date.getDate(),
    h: date.getHours(),
    i: date.getMinutes(),
    s: date.getSeconds(),
    a: date.getDay()
  }
  const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
    let value = formatObj[key]
    if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1]
    if (result.length > 0 && value < 10) {
      value = '0' + value
    }
    return value || 0
  })
  return time_str
}
 
posted @ 2019-11-25 13:10  苏小白啊  阅读(1217)  评论(0编辑  收藏  举报