utils.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. function padZero(num, targetLength) {
  4. if (targetLength === void 0) { targetLength = 2; }
  5. var str = num + '';
  6. while (str.length < targetLength) {
  7. str = '0' + str;
  8. }
  9. return str;
  10. }
  11. var SECOND = 1000;
  12. var MINUTE = 60 * SECOND;
  13. var HOUR = 60 * MINUTE;
  14. var DAY = 24 * HOUR;
  15. function parseTimeData(time) {
  16. var days = Math.floor(time / DAY);
  17. var hours = Math.floor((time % DAY) / HOUR);
  18. var minutes = Math.floor((time % HOUR) / MINUTE);
  19. var seconds = Math.floor((time % MINUTE) / SECOND);
  20. var milliseconds = Math.floor(time % SECOND);
  21. return {
  22. days: days,
  23. hours: hours,
  24. minutes: minutes,
  25. seconds: seconds,
  26. milliseconds: milliseconds
  27. };
  28. }
  29. exports.parseTimeData = parseTimeData;
  30. function parseFormat(format, timeData) {
  31. var days = timeData.days;
  32. var hours = timeData.hours, minutes = timeData.minutes, seconds = timeData.seconds, milliseconds = timeData.milliseconds;
  33. if (format.indexOf('DD') === -1) {
  34. hours += days * 24;
  35. }
  36. else {
  37. format = format.replace('DD', padZero(days));
  38. }
  39. if (format.indexOf('HH') === -1) {
  40. minutes += hours * 60;
  41. }
  42. else {
  43. format = format.replace('HH', padZero(hours));
  44. }
  45. if (format.indexOf('mm') === -1) {
  46. seconds += minutes * 60;
  47. }
  48. else {
  49. format = format.replace('mm', padZero(minutes));
  50. }
  51. if (format.indexOf('ss') === -1) {
  52. milliseconds += seconds * 1000;
  53. }
  54. else {
  55. format = format.replace('ss', padZero(seconds));
  56. }
  57. return format.replace('SSS', padZero(milliseconds, 3));
  58. }
  59. exports.parseFormat = parseFormat;
  60. function isSameSecond(time1, time2) {
  61. return Math.floor(time1 / 1000) === Math.floor(time2 / 1000);
  62. }
  63. exports.isSameSecond = isSameSecond;