You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
2.2 KiB

// 先获取全局 i18n(uniapp 通用写法)
const getI18n = () => {
if (typeof getApp !== 'undefined') {
return getApp()?.$i18n || null
}
return null
}
// 多语言文本获取
const t = (key) => {
const i18n = getI18n()
if (!i18n) return key
return i18n.t(key)
}
3 years ago
let toTimeText = (timeStamp, simple) => {
var dateTime = new Date(timeStamp)
var currentTime = Date.parse(new Date()); //当前时间
var timeDiff = currentTime - dateTime; //与当前时间误差
var timeText = '';
if (timeDiff <= 60000) { //一分钟内
timeText = t('common.justNow');
} else if (timeDiff > 60000 && timeDiff < 3600000) {
3 years ago
//1小时内
const min = Math.floor(timeDiff / 60000)
timeText = `${min} ${t('common.minutesAgo')}`;
} else if (timeDiff >= 3600000 && timeDiff < 86400000 && !isYestday(dateTime)) {
3 years ago
//今日
timeText = formatDateTime(dateTime).substr(11, 5);
} else if (isYestday(dateTime)) {
3 years ago
//昨天
timeText = t('common.yesterday') + ' ' + formatDateTime(dateTime).substr(11, 5);
} else if (isYear(dateTime)) {
3 years ago
//今年
timeText = formatDateTime(dateTime).substr(5, simple ? 5 : 14);
} else {
3 years ago
//不属于今年
timeText = formatDateTime(dateTime);
if (simple) {
timeText = timeText.substr(2, 8);
3 years ago
}
}
return timeText;
}
let isYestday = (date) => {
var yesterday = new Date(new Date() - 1000 * 60 * 60 * 24);
return yesterday.getYear() === date.getYear() &&
yesterday.getMonth() === date.getMonth() &&
yesterday.getDate() === date.getDate();
}
let isYear = (date) => {
return date.getYear() === new Date().getYear();
}
let formatDateTime = (date) => {
if (date === '' || !date) {
return ''
}
var dateObject = new Date(date)
var y = dateObject.getFullYear()
var m = dateObject.getMonth() + 1
m = m < 10 ? ('0' + m) : m
var d = dateObject.getDate()
d = d < 10 ? ('0' + d) : d
var h = dateObject.getHours()
h = h < 10 ? ('0' + h) : h
var minute = dateObject.getMinutes()
minute = minute < 10 ? ('0' + minute) : minute
var second = dateObject.getSeconds()
second = second < 10 ? ('0' + second) : second
// 修复:这里少了一个 + 号
3 years ago
return y + '/' + m + '/' + d + ' ' + h + ':' + minute + ':' + second
}
export {
3 years ago
toTimeText,
isYestday,
isYear,
formatDateTime
}