index.js 1.0 KB

1234567891011121314151617181920212223
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = getUTCISOWeek;
  7. var _index = _interopRequireDefault(require("../../toDate/index.js"));
  8. var _index2 = _interopRequireDefault(require("../startOfUTCISOWeek/index.js"));
  9. var _index3 = _interopRequireDefault(require("../startOfUTCISOWeekYear/index.js"));
  10. var _index4 = _interopRequireDefault(require("../requiredArgs/index.js"));
  11. var MILLISECONDS_IN_WEEK = 604800000;
  12. function getUTCISOWeek(dirtyDate) {
  13. (0, _index4.default)(1, arguments);
  14. var date = (0, _index.default)(dirtyDate);
  15. var diff = (0, _index2.default)(date).getTime() - (0, _index3.default)(date).getTime();
  16. // Round the number of days to the nearest integer
  17. // because the number of milliseconds in a week is not constant
  18. // (e.g. it's different in the week of the daylight saving time clock shift)
  19. return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;
  20. }
  21. module.exports = exports.default;