sugar
Version:
A Javascript utility library for working with native objects.
23 lines (19 loc) • 668 B
JavaScript
;
var getYear = require('./getYear'),
mathAliases = require('../../common/var/mathAliases');
var abs = mathAliases.abs;
function getYearFromAbbreviation(str, d, prefer) {
// Following IETF here, adding 1900 or 2000 depending on the last two digits.
// Note that this makes no accordance for what should happen after 2050, but
// intentionally ignoring this for now. https://www.ietf.org/rfc/rfc2822.txt
var val = +str, delta;
val += val < 50 ? 2000 : 1900;
if (prefer) {
delta = val - getYear(d);
if (delta / abs(delta) !== prefer) {
val += prefer * 100;
}
}
return val;
}
module.exports = getYearFromAbbreviation;