util.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. // 相差的天数
  21. const computeDays = (createTimestamp,currentTimestmap)=>{
  22. let subTime = currentTimestmap - createTimestamp; // 毫秒级(注意传的参数是否为毫秒级)
  23. // 相差的天数
  24. let days = Math.floor(subTime / (24 * 3600 * 1000));
  25. return days;
  26. }
  27. // 倒计时
  28. const daojishi = function(val1,mins){
  29. // 开始时间 + 过期时间 = 最后的时间
  30. // 最后的时间- 动态的当前时间 = 倒计时
  31. let that = this;
  32. let now = new Date(val1.replace(/-/g, "/")); //处理开始时间
  33. let minutes = Number(mins); // mins 分钟数
  34. let end = now.setMinutes(now.getMinutes() + minutes); // 计算最后时间 (调整过的日期的毫秒表示)
  35. let time_now = new Date().getTime(); //当前时间
  36. let msec = end - time_now; // 最后时间-当前时间
  37. if(msec > 0){
  38. let day = parseInt(msec / 1000 / 60 / 60 / 24)
  39. let hr = parseInt(msec / 1000 / 60 / 60 % 24)
  40. let min = parseInt(msec / 1000 / 60 % 60)
  41. let sec = parseInt(msec / 1000 % 60)
  42. day = day
  43. hr = hr > 9 ? hr : '0' + hr
  44. min = min > 9 ? min : '0' + min
  45. sec = sec > 9 ? sec : '0' + sec
  46. return {timeStr: (min+'分'+ sec+'秒'),isend: false};
  47. } else {
  48. return {timeStr: '' ,isend: true};
  49. }
  50. }
  51. module.exports = {
  52. formatTime,
  53. computeDays,
  54. daojishi
  55. }