UNPKG

@fav/type.to-date

Version:

Convert a string in various date format to a date object.

38 lines (28 loc) 766 B
'use strict'; 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;