/**
 * Created by jin.zhouhang on 17-9-21 下午3:02.
 *
 * 时间日期工具
 */

import * as moment from "moment";

const DateUtil = {
  install(Vue) {
    Vue.prototype.$date = {
      toDate() {

      },
      format(date, fmt) {
        if (typeof date === 'string') {
          date = new Date(date)
        }

        if (/(y+)/.test(fmt)) {
          fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
        }
        let o = {
          'M+': date.getMonth() + 1,
          'd+': date.getDate(),
          'h+': date.getHours(),
          'm+': date.getMinutes(),
          's+': date.getSeconds()
        }
        for (let k in o) {
          if (new RegExp(`(${k})`).test(fmt)) {
            let str = o[k] + ''
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length))
          }
        }
        return fmt
      },
      stampToDate() {

      },
      dateToStamp(datetime) {
        return parseInt(datetime.getTime() / 1000)
      },
      dateToShortFormat(param) {
        if (param == '' || param == null) {
          return ' '
        }
        return moment(param).format("YYYYMMDD");
      },
      dateToWebFormat(param) {
        if (param == '' || param == null) {
          return ' '
        }
        return moment(param).format("YYYY-MM-DD");
      },
      dateToAllFormat(param) {
        if (param == '' || param == null) {
          return ' '
        }
        return moment(param).format("YYYY-MM-DD hh:mm:ss");
      }
    }
  }
}

export default DateUtil
