90 lines
2.6 KiB
JavaScript
90 lines
2.6 KiB
JavaScript
import store from '@/store/index.js'
|
|
|
|
/*
|
|
* 截断hash
|
|
*/
|
|
const filterHash = (str, num) => {
|
|
let length = num || 16
|
|
return String(str).substr(0, length) + '...' + String(str).substr(-4)
|
|
}
|
|
|
|
export const timeCustomCN = (val) => {
|
|
val = timeStamp(val, 'Y-m-d H:i:s')
|
|
let currentDate = new Date();
|
|
let currentD = currentDate.getDate();
|
|
let currentYear = currentDate.getFullYear();
|
|
let currentMonth = currentDate.getMonth() + 1;
|
|
let date = val.substring(0, 19);
|
|
date = date.replace(/-/g, '/');
|
|
let valDate = new Date(date);
|
|
let valD = valDate.getDate();
|
|
let valYear = valDate.getFullYear();
|
|
let valMonth = valDate.getMonth() + 1;
|
|
// 判断是否属于今天,计算时分
|
|
let difftime = (currentDate - valDate) / 1000;
|
|
if (currentYear === valYear && currentMonth === valMonth && currentD === valD) {
|
|
let minute = parseInt(difftime % 3600 / 60);
|
|
if (minute <= 60) {
|
|
return minute === 0 ? '刚刚' : minute + '分钟前';
|
|
} else {
|
|
return (minute * 60).toFixed(0) + '小时前';
|
|
}
|
|
} else {
|
|
// 计算天
|
|
if (currentYear === valYear && currentMonth === valMonth && currentD - 1 === valD) {
|
|
return '昨天';
|
|
} else {
|
|
let days = Math.abs(currentDate.getTime() - valDate.getTime()) / (1000 * 60 * 60 * 24);
|
|
return Math.ceil(days) + '天前';
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
const timeStamp = (timestamp, formats) => {
|
|
/*
|
|
** 时间戳转换成指定格式日期
|
|
** eg.
|
|
** dateFormat(11111111111111, 'Y年m月d日 H时i分')
|
|
** → "2322年02月06日 03时45分"
|
|
*/
|
|
// formats格式包括
|
|
// 1. Y-m-d
|
|
// 2. Y-m-d H:i:s
|
|
// 3. Y年m月d日
|
|
// 4. Y年m月d日 H时i分
|
|
formats = formats || 'Y-m-d';
|
|
|
|
var zero = function(value) {
|
|
if (value < 10) {
|
|
return '0' + value;
|
|
}
|
|
return value;
|
|
};
|
|
var myDate = timestamp ? new Date(timestamp) : new Date();
|
|
|
|
var year = myDate.getFullYear();
|
|
var month = zero(myDate.getMonth() + 1);
|
|
var day = zero(myDate.getDate());
|
|
|
|
var hour = zero(myDate.getHours());
|
|
var minite = zero(myDate.getMinutes());
|
|
var second = zero(myDate.getSeconds());
|
|
|
|
return formats.replace(/Y|m|d|H|i|s/ig, function(matches) {
|
|
return ({
|
|
Y: year,
|
|
m: month,
|
|
d: day,
|
|
H: hour,
|
|
i: minite,
|
|
s: second
|
|
})[matches];
|
|
});
|
|
}
|
|
|
|
export default {
|
|
filterHash,
|
|
timeCustomCN
|
|
}
|