1. 计算时差

  1. function dateDifference(faultDate, completeTime) {
  2. if (!faultDate || !completeTime) return null
  3. let stime = new Date(faultDate).getTime()
  4. let etime = new Date(completeTime).getTime()
  5. let diffTime = etime - stime // 两个时间戳相差的毫秒数
  6. let days = Math.floor(diffTime / (24 * 3600 * 1000))
  7. // 计算出小时数
  8. let leave1 = diffTime % (24 * 3600 * 1000) // 计算天数后剩余的毫秒数
  9. let hours = Math.floor(leave1 / (3600 * 1000))
  10. // 计算相差分钟数
  11. let leave2 = leave1 % (3600 * 1000) // 计算小时数后剩余的毫秒数
  12. let minutes = Math.floor(leave2 / (60 * 1000))
  13. let time = `${days}天 ${hours}时 ${minutes}分`
  14. // var h = Math.floor(result / 3600);
  15. // var m = Math.floor((result / 60 % 60));
  16. // var s = Math.floor((result % 60));
  17. return { time, days, hours, minutes, diffTime }
  18. }

2. 判断是否为闰年

  1. function isLeapYear(year) {
  2. return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
  3. }

3. 获取指定年月的天数

  1. function getDayNum(year, month) {
  2. year = parseInt(year);
  3. month = parseInt(month);
  4. if ([1, 3, 5, 7, 8, 10, 12].indexOf(month) > -1) {
  5. return 31;
  6. } else if ([4, 6, 9, 11].indexOf(month) > -1) {
  7. return 30;
  8. } else if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
  9. return 29;
  10. } else {
  11. return 28;
  12. }
  13. }

4. 毫秒转换为时分秒格式

  1. function milliTrans(milli) {
  2. let time = milli / 1000;
  3. let seconds = parseInt(time % 60);
  4. if (seconds < 10) {
  5. seconds = '0' + seconds;
  6. }
  7. let minutes = parseInt((time / 60) % 60);
  8. if (minutes < 10) {
  9. minutes = '0' + minutes;
  10. }
  11. let hours = parseInt((time / 3600) % 60);
  12. if (hours > 0) {
  13. console.log(hours);
  14. return (
  15. hours +
  16. ':' +
  17. (minutes != 0 ? minutes : '00') +
  18. ':' +
  19. (seconds != 0 ? seconds : '00')
  20. );
  21. } else if (minutes > 0) {
  22. console.log(minutes);
  23. return minutes + ':' + (seconds != 0 ? seconds : '00');
  24. } else {
  25. return seconds + '秒';
  26. }
  27. }