原文博客:Doi技術(shù)團(tuán)隊
鏈接地址:https://blog.doiduoyi.com
初心:記錄優(yōu)秀的Doi技術(shù)團(tuán)隊學(xué)習(xí)經(jīng)歷
引入組件
引入Moment.js組件
- 官網(wǎng)
- 使用:
- 安裝
npm install moment --save # npm
- 使用 vue頁面引入
import moment from 'moment'
- 安裝
功能
- 將時間自定義格式化
- 獲取時間戳
- 獲取當(dāng)前時間
- 時間推移
代碼
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 前后的差數(shù)
* @returns
*/
startOf (type, num) {
if (num === undefined) {
num = 0
}
return moment().add(num, type.substr(0, 1)).startOf(type).valueOf()
},
/**
* 獲取結(jié)束日期時間戳
* 如:獲取昨天的開始時間戳
* this.$DateUtil.endOf('day', -1)
* 如:獲取月的結(jié)束時間戳
* this.$DateUtil.endOf('Month')
* @param {*} type day;week;Month;Year
* @param {*} num 前后的差數(shù)
* @returns
*/
endOf (type, num) {
if (num === undefined) {
num = 0
}
return moment().add(num, type.substr(0, 1)).endOf(type).valueOf()
}
}
export default dateUtil