sugar
Version:
A Javascript utility library for working with native objects.
30 lines (26 loc) • 865 B
JavaScript
;
var LocaleHelpers = require('../var/LocaleHelpers'),
getYear = require('./getYear'),
getMonth = require('./getMonth'),
getWeekNumber = require('./getWeekNumber');
var localeManager = LocaleHelpers.localeManager;
function getWeekYear(d, localeCode, iso) {
var year, month, firstDayOfWeek, firstDayOfWeekYear, week, loc;
year = getYear(d);
month = getMonth(d);
if (month === 0 || month === 11) {
if (!iso) {
loc = localeManager.get(localeCode);
firstDayOfWeek = loc.getFirstDayOfWeek(localeCode);
firstDayOfWeekYear = loc.getFirstDayOfWeekYear(localeCode);
}
week = getWeekNumber(d, false, firstDayOfWeek, firstDayOfWeekYear);
if (month === 0 && week === 0) {
year -= 1;
} else if (month === 11 && week === 1) {
year += 1;
}
}
return year;
}
module.exports = getWeekYear;