chat-time.vue 949 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <view>
  3. <text>{{formatDate}}</text>
  4. </view>
  5. </template>
  6. <script>
  7. export default {
  8. name: "chat-time",
  9. data() {
  10. return {}
  11. },
  12. props: {
  13. time: {
  14. type: Number
  15. }
  16. },
  17. computed: {
  18. formatDate() {
  19. let time = new Date(this.time);
  20. let strtime = "";
  21. let todayTime = new Date();
  22. todayTime.setHours(0, 0, 0, 0)
  23. let dayDiff = Math.floor((todayTime.getTime() - time.getTime()) / (24 * 3600 * 1000));
  24. if (time.getTime() > todayTime.getTime()) {
  25. strtime = time.getHours() <= 9 ? "0" + time.getHours() : time.getHours();
  26. strtime += ":"
  27. strtime += time.getMinutes() <= 9 ? "0" + time.getMinutes() : time.getMinutes();
  28. } else if (dayDiff < 1) {
  29. strtime = "昨天";
  30. } else if (dayDiff < 7) {
  31. strtime = `${dayDiff+1}天前`;
  32. } else {
  33. strtime = time.getMonth() + 1 + "月" + time.getDate() + "日";
  34. }
  35. return strtime;
  36. }
  37. }
  38. }
  39. </script>
  40. <style>
  41. </style>