UNPKG

sugar

Version:

A Javascript utility library for working with native objects.

23 lines (19 loc) 668 B
'use strict'; 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;