(year, week, weekday, dow, doy)
| 1320 | |
| 1321 | // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday |
| 1322 | function dayOfYearFromWeeks(year, week, weekday, dow, doy) { |
| 1323 | var localWeekday = (7 + weekday - dow) % 7, |
| 1324 | weekOffset = firstWeekOffset(year, dow, doy), |
| 1325 | dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, |
| 1326 | resYear, |
| 1327 | resDayOfYear; |
| 1328 | |
| 1329 | if (dayOfYear <= 0) { |
| 1330 | resYear = year - 1; |
| 1331 | resDayOfYear = daysInYear(resYear) + dayOfYear; |
| 1332 | } else if (dayOfYear > daysInYear(year)) { |
| 1333 | resYear = year + 1; |
| 1334 | resDayOfYear = dayOfYear - daysInYear(year); |
| 1335 | } else { |
| 1336 | resYear = year; |
| 1337 | resDayOfYear = dayOfYear; |
| 1338 | } |
| 1339 | |
| 1340 | return { |
| 1341 | year: resYear, |
| 1342 | dayOfYear: resDayOfYear, |
| 1343 | }; |
| 1344 | } |
| 1345 | |
| 1346 | function weekOfYear(mom, dow, doy) { |
| 1347 | var weekOffset = firstWeekOffset(mom.year(), dow, doy), |
no test coverage detected