#include <stdio.h>

struct DateTime{
   int year;
   int month;
   int day;
   int hour;
   int min;
   int sec;
   
};

DateTime ints_to_struct(int YEAR, int MONTH, int DAY)
{
    int zero = 0;
    DateTime Time;
    Time.year  = YEAR;
    Time.month = MONTH;
    Time.day   = DAY;
    Time.hour  = zero;
    Time.min   = zero;
    Time.sec   = zero;
    return Time;
}

char *DateString(struct DateTime, char* Datestring)
{
    //DateSting is formatted YYMMDD
    //char DateString[6];
    DateString[0] = (DateTime.year / 10);
    DateString[1] = (DateTime.year % 10);
    DateString[2] = (DateTime.month / 10);
    DateString[3] = (DateTime.month % 10);
    DateString[4] = (DateTime.day / 10);
    DateString[5] = (DateTime.day % 10);

    return DateString; /* return start pointer */
}

struct DateTime string_to_struct(char *DateString)
{
    int zero = 0;

    struct DateTime{
        int year;
        int month;
        int day;
        int hour;
        int min;
        int sec;
        };
        
    DateTime.year  = ((*(DateString)     * 10 ) + (*(DateString + 1));
    DateTime.month = ((*(DateString + 2) * 10 ) + (*(DateString + 3));
    DateTime.day   = ((*(DateString + 4) * 10 ) + (*(DateString + 5));
    DateTime.hour  = zero;
    DateTime.min   = zero;
    Datetime.sec   = zero;
  
return DateTime;
}

struct DateTime rtc_to_struct(char RTCyear,char RTCmonth,char RTCday,char RTChour,char RTCmin,char RTCsec)

struct DateTime{
    int year;
    int month;
    int day;
    int hour;
    int min;
    int sec;
    };

    DateTime.year  = ((((RTCyear  & 0b11110000) >> 4) * 10) + (RTCyear  & 0b00001111));
    DateTime.month = ((((RTCmonth & 0b00010000) >> 4) * 10) + (RTCmonth & 0b00001111));
    DateTime.day   = ((((RTCday   & 0b00110000) >> 4) * 10) + (RTCday   & 0b00001111));
    DateTime.hour  = ((((RTChour  & 0b00110000) >> 4) * 10) + (RTChour  & 0b00001111));
    DateTime.min   = ((((RTCmin   & 0b01110000) >> 4) * 10) + (RTCmin   & 0b00001111));
    DateTime.sec   = ((((RTCsec   & 0b01110000) >> 4) * 10) + (RTCsec   & 0b00001111));

return DateTime;