time.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { changeDateFormat } from './date'
  2. let now = new Date();
  3. let year = now.getFullYear();
  4. let month = now.getMonth();//真实的月份需要再加上1
  5. let day = now.getDate();
  6. let currentTime = new Date();
  7. let frontItemTimeStamp = 0
  8. function dealChatTime(currentItemTimeStamp) {
  9. console.log(currentItemTimeStamp, 'currentItemTimeStamp')
  10. currentItemTimeStamp = changeDateFormat(currentItemTimeStamp)
  11. console.log(currentItemTimeStamp, 'currentItemTimeStamp1')
  12. let ifShowTime = timeDivide(currentItemTimeStamp, frontItemTimeStamp);
  13. frontItemTimeStamp = currentItemTimeStamp
  14. return justSimpleDealTime(currentItemTimeStamp, ifShowTime);
  15. }
  16. function timeDivide(currentItemTimeStamp) {
  17. // console.log('时间戳显示时间', currentItemTimeStamp, frontItemTimeStamp);
  18. return Math.abs(currentItemTimeStamp - frontItemTimeStamp) / 1000 > 300
  19. }
  20. function justSimpleDealTime(currentItemTimeStamp, ifShowTime) {
  21. currentTime.setTime(currentItemTimeStamp);
  22. let hoursAndMinutes = currentTime.getHours() + ':' + (currentTime.getMinutes() >= 10 ? currentTime.getMinutes() : ('0' + currentTime.getMinutes()));
  23. let currentTimeDay = currentTime.getDate();
  24. if (currentTime.getFullYear() === year && currentTime.getMonth() === month) {
  25. if (currentTimeDay === day) {//当天显示时分
  26. return {//5分钟内发送多条消息时不重复显示时间标签,大于5分钟显示时间标签
  27. ifShowTime: ifShowTime,
  28. timeStr: hoursAndMinutes
  29. };
  30. } else if (currentTimeDay === day - 1) {//昨天:昨天+时分(24小时制)
  31. return {ifShowTime: ifShowTime, timeStr: '昨天 ' + hoursAndMinutes}
  32. } else {
  33. return {ifShowTime: ifShowTime, timeStr: (currentTime.getMonth() + 1) + '月' + currentTimeDay + '日 ' + hoursAndMinutes}
  34. }
  35. }
  36. return {
  37. ifShowTime: ifShowTime,
  38. timeStr: currentTime.getFullYear() + '年' + (currentTime.getMonth() + 1) + '月' + currentTimeDay + '日 ' + hoursAndMinutes
  39. };
  40. }
  41. module.exports = {
  42. dealChatTime
  43. };