@fav/type.to-date
Version:
Convert a string in various date format to a date object.
38 lines (28 loc) • 766 B
JavaScript
;
var isString = require('@fav/type.is-string');
var isValidDate = require('@fav/type.is-valid-date');
var newDate = require('./new-date');
function fromYymmdd(text) {
if (!isString(text)) {
return null;
}
var result = /^([0-9]{2})([0-9]{2})([0-9]{2})$/.exec(text);
if (!result) {
return null;
}
var year = parseInt(result[1], 10);
var month = parseInt(result[2], 10);
var day = parseInt(result[3], 10);
var currentYear = newDate().getFullYear();
year = currentYear - (currentYear % 100) + year;
if (year >= currentYear + 50) {
year -= 100;
}
var date = newDate(year, month - 1, day);
/* istanbul ignore if */
if (!isValidDate(date)) {
return null;
}
return date;
}
module.exports = fromYymmdd;