function formatNumber(n) {
n = n.toString()
return n[1] ? n : '0' + n
}
function tsFormatTime(timestamp, format) {
if (!timestamp) return 0
const formateArr = ['Y', 'M', 'D', 'h', 'm', 's']
let returnArr = []
const date = new Date(timestamp * 1000)
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
returnArr.push(year, month, day, hour, minute, second)
returnArr = returnArr.map(formatNumber)
for (let i in returnArr) {
format = format.replace(formateArr[i], returnArr[i])
}
return format
}
function beforeTime(dateTimeStamp) {
let lang = wx.getStorageSync('language');
if (lang === 'en-us') {
var beforeYear = ' Years ago',
beforeMouth = ' Months ago',
beforeWeek = ' Weeks ago',
beforeDay = ' Days ago',
beforeHour = ' Hours ago',
beforMinute = 'Minutes ago',
beforeJust = 'just';
} else {
var beforeYear = '年前',
beforeMouth = '月前',
beforeWeek = '周前',
beforeDay = '天前',
beforeHour = '小时前',
beforMinute = '分钟前',
beforeJust = '刚刚';
}
var newDateTimeStamp = dateTimeStamp * 1000;
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var week = day * 7;
var halfamonth = day * 15;
var month = day * 30;
var year = day * 365;
var now = new Date().getTime();
var diffValue = now - newDateTimeStamp;
if (diffValue < 0) {
return;
}
var minC = diffValue / minute;
var hourC = diffValue / hour;
var dayC = diffValue / day;
var weekC = diffValue / week;
var monthC = diffValue / month;
var yearC = diffValue / year;
var result;
if (yearC >= 1) {
result = " " + parseInt(yearC) + beforeYear;
} else if (monthC >= 1 && monthC <= 12) {
result = " " + parseInt(monthC) + beforeMouth;
} else if (weekC >= 1 && weekC <= 4) {
result = " " + parseInt(weekC) + beforeWeek;
} else if (dayC >= 1 && dayC <= 7) {
result = " " + parseInt(dayC) + beforeDay;
} else if (hourC >= 1 && hourC <= 24) {
result = " " + parseInt(hourC) + beforeHour;
} else if (minC >= 1 && minC <= 60) {
result = " " + parseInt(minC) + beforMinute;
} else if (diffValue >= 0 && diffValue <= minute) {
result = beforeJust;
} else {
var datetime = new Date();
datetime.setTime(newDateTimeStamp);
var Nyear = datetime.getFullYear();
var Nmonth =
datetime.getMonth() + 1 < 10 ?
"0" + (datetime.getMonth() + 1) :
datetime.getMonth() + 1;
var Ndate =
datetime.getDate() < 10 ?
"0" + datetime.getDate() :
datetime.getDate();
var Nhour =
datetime.getHours() < 10 ?
"0" + datetime.getHours() :
datetime.getHours();
var Nminute =
datetime.getMinutes() < 10 ?
"0" + datetime.getMinutes() :
datetime.getMinutes();
var Nsecond =
datetime.getSeconds() < 10 ?
"0" + datetime.getSeconds() :
datetime.getSeconds();
result = Nyear + "-" + Nmonth + "-" + Ndate;
}
return result;
}
function chatTime(dateTimeStamp) {
let lang = wx.getStorageSync('language');
if (lang === 'en-us') {
var beforMinute = 'Minutes ago',
beforeJust = 'just';
} else {
var
beforMinute = '分钟前',
beforeJust = '刚刚';
}
var newDateTimeStamp = dateTimeStamp * 1000;
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var week = day * 7;
var halfamonth = day * 15;
var month = day * 30;
var year = day * 365;
var now = new Date().getTime();
var diffValue = now - newDateTimeStamp;
if (diffValue < 0) {
return;
}
var minC = diffValue / minute;
var hourC = diffValue / hour;
var dayC = diffValue / day;
var weekC = diffValue / week;
var monthC = diffValue / month;
var yearC = diffValue / year;
var result;
if (dayC >= 1) {
result = tsFormatTime(dateTimeStamp, 'Y/M/D h:m:s');
} else if (hourC >= 1 && hourC <= 24) {
result = tsFormatTime(dateTimeStamp, 'h:m:s');
} else if (minC >= 1 && minC <= 60) {
result = " " + parseInt(minC) + beforMinute;
} else if (diffValue >= 0 && diffValue <= minute) {
result = beforeJust;
} else {
var datetime = new Date();
datetime.setTime(newDateTimeStamp);
var Nyear = datetime.getFullYear();
var Nmonth =
datetime.getMonth() + 1 < 10 ?
"0" + (datetime.getMonth() + 1) :
datetime.getMonth() + 1;
var Ndate =
datetime.getDate() < 10 ?
"0" + datetime.getDate() :
datetime.getDate();
var Nhour =
datetime.getHours() < 10 ?
"0" + datetime.getHours() :
datetime.getHours();
var Nminute =
datetime.getMinutes() < 10 ?
"0" + datetime.getMinutes() :
datetime.getMinutes();
var Nsecond =
datetime.getSeconds() < 10 ?
"0" + datetime.getSeconds() :
datetime.getSeconds();
result = Nyear + "-" + Nmonth + "-" + Ndate;
}
return result;
}
export {
beforeTime,
chatTime
}