date.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. export function formatTime(secondTime:number) {
  2. const time:number = secondTime;
  3. let newTime; let hour; let minite; let seconds:any;
  4. if (time >= 3600) {
  5. hour = parseInt(`${time / 3600}`, 10) < 10 ? `0${parseInt(`${time / 3600}`, 10)}` : parseInt(`${time / 3600}`, 10);
  6. minite = parseInt(`${(time % 60) / 60}`, 10) < 10 ? `0${parseInt(`${(time % 60) / 60}`, 10)}` : parseInt(`${(time % 60) / 60}`, 10);
  7. seconds = time % 3600 < 10 ? `0${time % 3600}` : time % 3600;
  8. if (seconds > 60) {
  9. minite = parseInt(`${seconds / 60}`, 10) < 10 ? `0${parseInt(`${seconds / 60}`, 10)}` : parseInt(`${seconds / 60}`, 10);
  10. seconds = seconds % 60 < 10 ? `0${seconds % 60}` : seconds % 60;
  11. }
  12. newTime = `${hour}:${minite}:${seconds}`;
  13. } else if (time >= 60 && time < 3600) {
  14. minite = parseInt(`${time / 60}`, 10) < 10 ? `0${parseInt(`${time / 60}`, 10)}` : parseInt(`${time / 60}`, 10);
  15. seconds = time % 60 < 10 ? `0${time % 60}` : time % 60;
  16. newTime = `00:${minite}:${seconds}`;
  17. } else if (time < 60) {
  18. seconds = time < 10 ? `0${time}` : time;
  19. newTime = `00:00:${seconds}`;
  20. }
  21. return newTime;
  22. }
  23. export function caculateTimeago(dateTimeStamp:number,type: any) {
  24. const minute = 1000 * 60; // 把分,时,天,周,半个月,一个月用毫秒表示
  25. const hour = minute * 60;
  26. const day = hour * 24;
  27. const week = day * 7;
  28. const now = new Date().getTime(); // 获取当前时间毫秒
  29. const diffValue = now - dateTimeStamp;// 时间差
  30. let result = '';
  31. if (diffValue < 0) {
  32. return;
  33. }
  34. const minC = diffValue / minute; // 计算时间差的分,时,天,周,月
  35. const hourC = diffValue / hour;
  36. const dayC = diffValue / day;
  37. const weekC = diffValue / week;
  38. if (weekC >= 1 && weekC <= 4) {
  39. result = ` ${parseInt(`${weekC}`, 10)}周前`;
  40. } else if (dayC >= 1 && dayC <= 6) {
  41. result = ` ${parseInt(`${dayC}`, 10)}天前`;
  42. } else if (hourC >= 1 && hourC <= 23) {
  43. result = ` ${parseInt(`${hourC}`, 10)}小时前`;
  44. } else if (minC >= 1 && minC <= 59) {
  45. result = ` ${parseInt(`${minC}`, 10)}分钟前`;
  46. } else if (diffValue >= 0 && diffValue <= minute) {
  47. result = '刚刚';
  48. } else {
  49. if(type==1) {
  50. result = '';
  51. } else {
  52. const datetime = new Date();
  53. datetime.setTime(dateTimeStamp);
  54. const Nyear = datetime.getFullYear();
  55. const Nmonth = datetime.getMonth() + 1 < 10 ? `0${datetime.getMonth() + 1}` : datetime.getMonth() + 1;
  56. const Ndate = datetime.getDate() < 10 ? `0${datetime.getDate()}` : datetime.getDate();
  57. result = `${Nyear}-${Nmonth}-${Ndate}`;
  58. }
  59. }
  60. return result;
  61. }