1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { MS, Y, D, W } from '../../constant';
- export default (function (o, c, d) {
- var proto = c.prototype;
-
- proto.week = function (week) {
- if (week === void 0) {
- week = null;
- }
-
- if (week !== null) {
- return this.add((week - this.week()) * 7, D);
- }
-
- var yearStart = this.$locale().yearStart || 1;
-
- if (this.month() === 11 && this.date() > 25) {
- // d(this) is for badMutable
- var nextYearStartDay = d(this).startOf(Y).add(1, Y).date(yearStart);
- var thisEndOfWeek = d(this).endOf(W);
-
- if (nextYearStartDay.isBefore(thisEndOfWeek)) {
- return 1;
- }
- }
-
- var yearStartDay = d(this).startOf(Y).date(yearStart);
- var yearStartWeek = yearStartDay.startOf(W).subtract(1, MS);
- var diffInWeek = this.diff(yearStartWeek, W, true);
-
- if (diffInWeek < 0) {
- return d(this).startOf('week').week();
- }
-
- return Math.ceil(diffInWeek);
- };
-
- proto.weeks = function (week) {
- if (week === void 0) {
- week = null;
- }
-
- return this.week(week);
- };
- });
|