function getParsedDate(date) {
    let hours = date.getHours(),
        {hours: hours12, dayPeriod} = getDayPeriodFromHours24(hours);

    return {
        year: date.getFullYear(),
        month: date.getMonth(),
        fullMonth: (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1, // One based
        date: date.getDate(),
        fullDate: date.getDate() < 10 ? '0' + date.getDate() : date.getDate(),
        day: date.getDay(),
        hours,
        fullHours: getLeadingZeroNum(hours),
        hours12,
        dayPeriod,
        fullHours12: getLeadingZeroNum(hours12),
        minutes: date.getMinutes(),
        fullMinutes:  date.getMinutes() < 10 ? '0' + date.getMinutes() :  date.getMinutes()
    };
}
Get detailed date object
@param {Date} date
@return {{
 date: number,
 hours: number,
 fullDate: (string|*),
 month: number,
 fullHours: (string|*),
 year: number,
 minutes: number,
 fullMonth: string,
 day: number,
 fullMinutes: (string|*),
 hours12: number,
 dayPeriod: 'am' | 'pm'
}}