export function dateFormat(fmt, date) {
|
let ret = ""
|
date = new Date(date)
|
const opt = {
|
"Y+": date.getFullYear().toString(), // 年
|
"m+": (date.getMonth() + 1).toString(), // 月
|
"d+": date.getDate().toString(), // 日
|
"H+": date.getHours().toString(), // 时
|
"M+": date.getMinutes().toString(), // 分
|
"S+": date.getSeconds().toString() // 秒
|
// 有其他格式化字符需求可以继续添加,必须转化成字符串
|
}
|
for (let k in opt) {
|
ret = new RegExp("(" + k + ")").exec(fmt)
|
if (ret) {
|
fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0"))
|
}
|
}
|
return fmt
|
}
|
|
// 判断时间是几分前 几小时前 几天前
|
export function timeago(time) {
|
var data = new Date(time)
|
var dateTimeStamp = data.getTime()
|
var minute = 1000 * 60 //把分,时,天,周,半个月,一个月用毫秒表示
|
var hour = minute * 60
|
var day = hour * 24
|
var month = day * 30
|
var year = month * 12
|
var now = new Date().getTime() //获取当前时间毫秒
|
var diffValue = now - dateTimeStamp //时间差
|
|
var result = ""
|
if (diffValue < 0) {
|
result = time
|
} else {
|
var minC = diffValue / minute //计算时间差的分,时,天,周,月
|
var hourC = diffValue / hour
|
var dayC = diffValue / day
|
// var weekC = diffValue / (7*day)
|
var monthC = diffValue / month
|
var yearC = diffValue / year
|
if (parseInt(yearC) >= 1) {
|
result = parseInt(yearC) + "年前"
|
} else if (parseInt(monthC) >= 1) {
|
result = parseInt(monthC) + "个月前"
|
} else if (parseInt(dayC) > 1) {
|
result = parseInt(dayC) + "天前"
|
} else if (parseInt(dayC) === 1) {
|
result = "1天前"
|
} else if (parseInt(hourC) >= 1) {
|
result = parseInt(hourC) + "小时前"
|
} else if (parseInt(minC) >= 1) {
|
result = parseInt(minC) + "分钟前"
|
} else {
|
result = "刚刚"
|
}
|
}
|
return result
|
}
|