//将 34,79,20格式化成 00:00:00
//秒数置换
gethms(time) {
const hour =
parseInt(time / 3600) < 10
? "0" + parseInt(time / 3600)
: parseInt(time / 3600);
const min =
parseInt((time % 3600) / 60) < 10
? "0" + parseInt((time % 3600) / 60)
: parseInt((time % 3600) / 60);
const sec =
parseInt((time % 3600) % 60) < 10
? "0" + parseInt((time % 3600) % 60)
: parseInt((time % 3600) % 60);
return hour + ":" + min + ":" + sec;
},
将2022-12-9 11:30:20这种时间格式
格式化为 :* 年前 、* 月前、 *周前、 * 天前 、 *小时前、 * 分钟前 、刚刚
timeago (time) {
var data = new Date(time);
var dateTimeStamp = data.getTime()
var minute = 1000 * 60; //把分,时,天,周,半个月,一个月用毫秒表示
var hour = minute * 60;
var day = hour * 24;
var week = day * 7;
var month = day * 30;
var year = month * 12;
var now = new Date().getTime(); //获取当前时间毫秒
var diffValue = now - dateTimeStamp;//时间差
var result = "";
if (diffValue < 0) {
result = "" + "未来";
}
var minC = diffValue / minute; //计算时间差的分,时,天,周,月
var hourC = diffValue / hour;
var dayC = diffValue / day;
var weekC = diffValue / week;
var monthC = diffValue / month;
var yearC = diffValue / year;
if (yearC >= 1) {
result = " " + parseInt(yearC) + "年前"
} else if (monthC >= 1 && monthC < 12) {
result = " " + parseInt(monthC) + "月前"
} else if (weekC >= 1 && weekC < 5 && dayC > 6 && monthC < 1) {
result = " " + parseInt(weekC) + "周前"
} else if (dayC >= 1 && dayC <= 6) {
result = " " + parseInt(dayC) + "天前"
} else if (hourC >= 1 && hourC <= 23) {
result = " " + parseInt(hourC) + "小时前"
} else if (minC >= 1 && minC <= 59) {
result = " " + parseInt(minC) + "分钟前"
} else if (diffValue >= 0 && diffValue <= minute) {
result = "刚刚"
}
// console.log(result)
return result
}
将时间戳转化为相应的日期格式
/**
* filters.js
* 对Date的扩展,将 Date 转化为指定格式的String 默认是2019-11-25 14:00:00 需要格式则后续传值
* 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
* (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2019-11-25 08:09:04.423
* (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2019-11-25 8:9:4.18
* 使用格式,dom上 {{formatTime(time,'YYYY-MM-DD')}}
* 在script中 this.formatTime(this.time,"hh:mm:ss")
*
*/
import Vue from 'vue'
Date.prototype.Format = function(fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"D+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(Y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k])
.length)));
return fmt;
}
const formatTime = function(times, pattern) {
var times=times*1000
var d = new Date(times).Format("YYYY-MM-DD hh:mm:ss");
if (pattern) {
d = new Date(times).Format(pattern);
}
return d.toLocaleString();
}
export default formatTime