vue系列-DateUtil工具組件

引入組件

引入Moment.js組件

  • 官網
  • 使用:
    1. 安裝 npm install moment --save # npm
    2. 使用 vue頁面引入 import moment from 'moment'

功能

  • 將時間自定義格式化
  • 獲取時間戳
  • 獲取當前時間
  • 時間推移

代碼

import moment from 'moment'

const DEFAULT_FORMAT = {
  date: 'YYYY-MM-DD HH:mm:ss'
}

let dateUtil = {}

dateUtil = {
  format (time, format) {
    if (time !== null && time !== undefined) {
      if (format === null || format === undefined) {
        format = DEFAULT_FORMAT.date
      }
      return moment(time).format(format)
    }
  },
  timestamp (obj, format) {
    if (obj !== undefined && obj !== null) {
      return moment(obj, format).valueOf()
    }
  },
  date (obj, format) {
    if (obj !== undefined && obj !== null) {
      return moment(obj, format).toDate()
    }
  },
  addMinutes (time, minutes, format) {
    if (time !== undefined && time !== null) {
      return moment(time, format).add(minutes, 'm').valueOf()
    }
  },
  addHours (time, hours, format) {
    if (time !== undefined && time !== null) {
      return moment(time, format).add(hours, 'h').valueOf()
    }
  },
  addDays (time, days, format) {
    if (time !== undefined && time !== null) {
      return moment(time, format).add(days, 'd').valueOf()
    }
  },
  addWeeks (time, weeks, format) {
    if (time !== undefined && time !== null) {
      return moment(time, format).add(weeks, 'w').valueOf()
    }
  },
  addMonths (time, months, format) {
    if (time !== undefined && time !== null) {
      return moment(time, format).add(months, 'M').valueOf()
    }
  },
  addYears (time, years, format) {
    if (time !== undefined && time !== null) {
      return moment(time, format).add(years, 'y').valueOf()
    }
  },
  today () {
    return moment().startOf('day').valueOf()
  },
  now () {
    return new Date().getTime()
  },
  /**
   * 獲取開始日期時間戳
   * 如:獲取昨天的開始時間戳
   * this.$DateUtil.startOf('day', -1)
   * 如:獲取月的開始時間戳
   * this.$DateUtil.startOf('Month')
   * @param {*} type day;week;Month;Year
   * @param {*} num 前後的差數
   * @returns
   */
  startOf (type, num) {
    if (num === undefined) {
      num = 0
    }
    return moment().add(num, type.substr(0, 1)).startOf(type).valueOf()
  },
  /**
   * 獲取結束日期時間戳
   * 如:獲取昨天的開始時間戳
   * this.$DateUtil.endOf('day', -1)
   * 如:獲取月的結束時間戳
   * this.$DateUtil.endOf('Month')
   * @param {*} type day;week;Month;Year
   * @param {*} num 前後的差數
   * @returns
   */
  endOf (type, num) {
    if (num === undefined) {
      num = 0
    }
    return moment().add(num, type.substr(0, 1)).endOf(type).valueOf()
  }
}
export default dateUtil
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章