date.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. let toTimeText = (timeStamp, simple) => {
  2. var dateTime = new Date(timeStamp)
  3. var currentTime = Date.parse(new Date()); //当前时间
  4. var timeDiff = currentTime - dateTime; //与当前时间误差
  5. var timeText = '';
  6. if (timeDiff <= 60000) { //一分钟内
  7. timeText = '刚刚';
  8. } else if (timeDiff > 60000 && timeDiff < 3600000) {
  9. //1小时内
  10. timeText = Math.floor(timeDiff / 60000) + '分钟前';
  11. } else if (timeDiff >= 3600000 && timeDiff < 86400000 && !isYestday(dateTime)) {
  12. //今日
  13. timeText = formatDateTime(dateTime).substr(11, 5);
  14. } else if (isYestday(dateTime)) {
  15. //昨天
  16. timeText = '昨天' + formatDateTime(dateTime).substr(11, 5);
  17. } else if (isYear(dateTime)) {
  18. //今年
  19. timeText = formatDateTime(dateTime).substr(5, simple ? 5 : 14);
  20. } else {
  21. //不属于今年
  22. timeText = formatDateTime(dateTime);
  23. if(simple){
  24. timeText = timeText.substr(2,8);
  25. }
  26. }
  27. return timeText;
  28. }
  29. let isYestday = (date) => {
  30. var yesterday = new Date(new Date() - 1000 * 60 * 60 * 24);
  31. return yesterday.getYear() === date.getYear() &&
  32. yesterday.getMonth() === date.getMonth() &&
  33. yesterday.getDate() === date.getDate();
  34. }
  35. let isYear = (date) => {
  36. return date.getYear() === new Date().getYear();
  37. }
  38. let formatDateTime = (date) => {
  39. if (date === '' || !date) {
  40. return ''
  41. }
  42. var dateObject = new Date(date)
  43. var y = dateObject.getFullYear()
  44. var m = dateObject.getMonth() + 1
  45. m = m < 10 ? ('0' + m) : m
  46. var d = dateObject.getDate()
  47. d = d < 10 ? ('0' + d) : d
  48. var h = dateObject.getHours()
  49. h = h < 10 ? ('0' + h) : h
  50. var minute = dateObject.getMinutes()
  51. minute = minute < 10 ? ('0' + minute) : minute
  52. var second = dateObject.getSeconds()
  53. second = second < 10 ? ('0' + second) : second
  54. return y + '/' + m + '/' + d + ' ' + h + ':' + minute + ':' + second
  55. }
  56. export{
  57. toTimeText,
  58. isYestday,
  59. isYear,
  60. formatDateTime
  61. }