aboutsummaryrefslogtreecommitdiffstats
path: root/bower_components/moment/src/lib/units/day-of-year.js
diff options
context:
space:
mode:
Diffstat (limited to 'bower_components/moment/src/lib/units/day-of-year.js')
-rw-r--r--bower_components/moment/src/lib/units/day-of-year.js18
1 files changed, 9 insertions, 9 deletions
diff --git a/bower_components/moment/src/lib/units/day-of-year.js b/bower_components/moment/src/lib/units/day-of-year.js
index 7c4d286..0c34fa3 100644
--- a/bower_components/moment/src/lib/units/day-of-year.js
+++ b/bower_components/moment/src/lib/units/day-of-year.js
@@ -26,18 +26,18 @@ addParseToken(['DDD', 'DDDD'], function (input, array, config) {
//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
export function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
- var d = createUTCDate(year, 0, 1).getUTCDay();
- var daysToAdd;
- var dayOfYear;
+ var week1Jan = 6 + firstDayOfWeek - firstDayOfWeekOfYear, janX = createUTCDate(year, 0, 1 + week1Jan), d = janX.getUTCDay(), dayOfYear;
+ if (d < firstDayOfWeek) {
+ d += 7;
+ }
- d = d === 0 ? 7 : d;
- weekday = weekday != null ? weekday : firstDayOfWeek;
- daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0);
- dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1;
+ weekday = weekday != null ? 1 * weekday : firstDayOfWeek;
+
+ dayOfYear = 1 + week1Jan + 7 * (week - 1) - d + weekday;
return {
- year : dayOfYear > 0 ? year : year - 1,
- dayOfYear : dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
+ year: dayOfYear > 0 ? year : year - 1,
+ dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
};
}