date.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. "use strict";
  2. function formatTime(secondTime) {
  3. const time = secondTime;
  4. let newTime;
  5. let hour;
  6. let minite;
  7. let seconds;
  8. if (time >= 3600) {
  9. hour = parseInt(`${time / 3600}`, 10) < 10 ? `0${parseInt(`${time / 3600}`, 10)}` : parseInt(`${time / 3600}`, 10);
  10. minite = parseInt(`${time % 60 / 60}`, 10) < 10 ? `0${parseInt(`${time % 60 / 60}`, 10)}` : parseInt(`${time % 60 / 60}`, 10);
  11. seconds = time % 3600 < 10 ? `0${time % 3600}` : time % 3600;
  12. if (seconds > 60) {
  13. minite = parseInt(`${seconds / 60}`, 10) < 10 ? `0${parseInt(`${seconds / 60}`, 10)}` : parseInt(`${seconds / 60}`, 10);
  14. seconds = seconds % 60 < 10 ? `0${seconds % 60}` : seconds % 60;
  15. }
  16. newTime = `${hour}:${minite}:${seconds}`;
  17. } else if (time >= 60 && time < 3600) {
  18. minite = parseInt(`${time / 60}`, 10) < 10 ? `0${parseInt(`${time / 60}`, 10)}` : parseInt(`${time / 60}`, 10);
  19. seconds = time % 60 < 10 ? `0${time % 60}` : time % 60;
  20. newTime = `00:${minite}:${seconds}`;
  21. } else if (time < 60) {
  22. seconds = time < 10 ? `0${time}` : time;
  23. newTime = `00:00:${seconds}`;
  24. }
  25. return newTime;
  26. }
  27. function caculateTimeago(dateTimeStamp) {
  28. const minute = 1e3 * 60;
  29. const hour = minute * 60;
  30. const day = hour * 24;
  31. const week = day * 7;
  32. const now = new Date().getTime();
  33. const diffValue = now - dateTimeStamp;
  34. let result = "";
  35. if (diffValue < 0) {
  36. return;
  37. }
  38. const minC = diffValue / minute;
  39. const hourC = diffValue / hour;
  40. const dayC = diffValue / day;
  41. const weekC = diffValue / week;
  42. if (weekC >= 1 && weekC <= 4) {
  43. result = ` ${parseInt(`${weekC}`, 10)}\u5468\u524D`;
  44. } else if (dayC >= 1 && dayC <= 6) {
  45. result = ` ${parseInt(`${dayC}`, 10)}\u5929\u524D`;
  46. } else if (hourC >= 1 && hourC <= 23) {
  47. result = ` ${parseInt(`${hourC}`, 10)}\u5C0F\u65F6\u524D`;
  48. } else if (minC >= 1 && minC <= 59) {
  49. result = ` ${parseInt(`${minC}`, 10)}\u5206\u949F\u524D`;
  50. } else if (diffValue >= 0 && diffValue <= minute) {
  51. result = "\u521A\u521A";
  52. } else {
  53. const datetime = new Date();
  54. datetime.setTime(dateTimeStamp);
  55. const Nyear = datetime.getFullYear();
  56. const Nmonth = datetime.getMonth() + 1 < 10 ? `0${datetime.getMonth() + 1}` : datetime.getMonth() + 1;
  57. const Ndate = datetime.getDate() < 10 ? `0${datetime.getDate()}` : datetime.getDate();
  58. result = `${Nyear}-${Nmonth}-${Ndate}`;
  59. }
  60. return result;
  61. }
  62. exports.caculateTimeago = caculateTimeago;
  63. exports.formatTime = formatTime;