123456789101112131415161718192021222324252627282930313233343536373839 |
- let now = new Date();
- let year = now.getFullYear();
- let month = now.getMonth();//真实的月份需要再加上1
- let day = now.getDate();
- let currentTime = new Date();
- function dealChatTime(currentItemTimeStamp, frontItemTimeStamp) {
- let ifShowTime = timeDivide(currentItemTimeStamp, frontItemTimeStamp);
- return justSimpleDealTime(currentItemTimeStamp, ifShowTime);
- }
- function timeDivide(currentItemTimeStamp, frontItemTimeStamp) {
- // console.log('时间戳显示时间', currentItemTimeStamp, frontItemTimeStamp);
- return Math.abs(currentItemTimeStamp - frontItemTimeStamp) / 1000 > 300
- }
- function justSimpleDealTime(currentItemTimeStamp, ifShowTime) {
- currentTime.setTime(currentItemTimeStamp);
- let hoursAndMinutes = currentTime.getHours() + ':' + (currentTime.getMinutes() >= 10 ? currentTime.getMinutes() : ('0' + currentTime.getMinutes()));
- let currentTimeDay = currentTime.getDate();
- if (currentTime.getFullYear() === year && currentTime.getMonth() === month) {
- if (currentTimeDay === day) {//当天显示时分
- return {//5分钟内发送多条消息时不重复显示时间标签,大于5分钟显示时间标签
- ifShowTime: ifShowTime,
- timeStr: hoursAndMinutes
- };
- } else if (currentTimeDay === day - 1) {//昨天:昨天+时分(24小时制)
- return {ifShowTime: ifShowTime, timeStr: '昨天 ' + hoursAndMinutes}
- }
- }
- return {
- ifShowTime: ifShowTime,
- timeStr: currentTime.getFullYear() + '年' + (currentTime.getMonth() + 1) + '月' + currentTimeDay + '日 ' + hoursAndMinutes
- };
- }
- module.exports = {
- dealChatTime
- };
|