#include <time.h>
#include <string.h>

#define	DDMMYY			0
#define	MMDDYY			1
#define	YYMMDD			2

#define	Exact				0
#define	Before			1
#define	After				2

// PROTOS //
long int strtol(const char *p, char **np, int base);
struct Date to_date(char date[7], int format);
struct Time to_time(char time[6]);

struct Date {
	int	DD;
	int	MM;
	int	YY;
};

struct Time {
	int	HH;
	int	MM;
};

struct Date to_date(char date[7], int format) {
	long	e1,e2,e3;
	char tmp[2],*dummy;
	struct Date	dato;

	if(strmid(date,tmp,1,2)==0)
		e1=strtol(tmp,&dummy,10);
	else
		e1=-1;

	if(strmid(date,tmp,3,2)==0)
		e2=strtol(tmp,&dummy,10);
	else
		e2=-1;

	if(strmid(date,tmp,5,2)==0)
		e3=strtol(tmp,&dummy,10);
	else
		e3=-1;

	if(format==2) {
		dato.DD=e2;
		dato.MM=e1;
		dato.YY=e3;
		}
	else if(format==3) {
		dato.DD=e3;
		dato.MM=e2;
		dato.YY=e1;
		}
	else {
		dato.DD=e1;
		dato.MM=e2;
		dato.YY=e3;
	}
	return dato;
}

struct Time to_time(char time[6]) {
	char tmp[2],*dummy;
	struct Time tid;

	if(strmid(time,tmp,1,2)==0)
		tid.HH=strtol(tmp,&dummy,10);
	else
		tid.HH=-1;

	if(strmid(time,tmp,4,2)==0)
		tid.MM=strtol(tmp,&dummy,10);
	else
		tid.MM=-1;

	return tid;
}
