utils.js 1.9 KB

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