util.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. const formatTime = (date, type) => {
  2. const year = date.getFullYear();
  3. const month = date.getMonth() + 1;
  4. const day = date.getDate();
  5. const hour = date.getHours();
  6. const minute = date.getMinutes();
  7. const second = date.getSeconds();
  8. if (type == 1) {
  9. // 返回年月日
  10. return `${[year, month, day].map(formatNumber).join('-')}`;
  11. } else {
  12. // 返回年月日时分秒
  13. return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`;
  14. }
  15. };
  16. const formatNumber = (n) => {
  17. n = n.toString();
  18. return n[1] ? n : `0${n}`;
  19. }; // 相差的天数
  20. const computeDays = (createTimestamp, currentTimestmap) => {
  21. let subTime = currentTimestmap - createTimestamp; // 毫秒级(注意传的参数是否为毫秒级)
  22. // 相差的天数
  23. let days = Math.floor(subTime / (24 * 3600 * 1000));
  24. return days;
  25. }; // 倒计时
  26. const daojishi = function (val1, mins) {
  27. // 开始时间 + 过期时间 = 最后的时间
  28. // 最后的时间- 动态的当前时间 = 倒计时
  29. let that = this;
  30. let now = new Date(val1.replace(/-/g, '/')); //处理开始时间
  31. let minutes = Number(mins); // mins 分钟数
  32. let end = now.setMinutes(now.getMinutes() + minutes); // 计算最后时间 (调整过的日期的毫秒表示)
  33. let time_now = new Date().getTime(); //当前时间
  34. let msec = end - time_now; // 最后时间-当前时间
  35. if (msec > 0) {
  36. let day = parseInt(msec / 1000 / 60 / 60 / 24);
  37. let hr = parseInt((msec / 1000 / 60 / 60) % 24);
  38. let min = parseInt((msec / 1000 / 60) % 60);
  39. let sec = parseInt((msec / 1000) % 60);
  40. day = day;
  41. hr = hr > 9 ? hr : '0' + hr;
  42. min = min > 9 ? min : '0' + min;
  43. sec = sec > 9 ? sec : '0' + sec;
  44. return {
  45. timeStr: min + '分' + sec + '秒',
  46. isend: false
  47. };
  48. } else {
  49. return {
  50. timeStr: '',
  51. isend: true
  52. };
  53. }
  54. };
  55. module.exports = {
  56. formatTime,
  57. computeDays,
  58. daojishi
  59. };