#include // Includes base header time.h int dateformat = 0; // VERY IMPORTANT! Defines the date format to be used. Please do not change manually. #define SETFORMAT_YYYY_MM_DD dateformat=0 #define SETFORMAT_YY_MM_DD dateformat=1 #define SETFORMAT_MM_DD dateformat=2 #define SETFORMAT_The_DD_MONTHNAME dateformat=3 // Seconds per x: #define SECpDAY 86400 #define SECpHOUR 3600 #define SECpYEAR 31536000 #define SECpMIN 60 #define SECpMONTH #define SECpWEEK 604800 // Minutes per x: #define MINpHOUR 60 #define MINpDAY 1440 #define MINpYEAR 525600 #define MINpWEEK 10080 // Hours per x #define HOURpDAY 24 #define HOURpYEAR 8760 #define HOURpWEEK 168 // Days per x int YEARSCOPE = 1; // Important! This is user-set. It is used in cDAYpYEAR, when you need exact values. #define cDAYpYEAR (((365*4)-SINCELASTLEAPYEAR)+((((YEARSCOPE-(4-SINCELASTLEAPYEAR)/4)*3)*sDAYpYEAR)+((((YEARSCOPE-(4-SINCELASTLEAPYEAR)/4)*1)*sDAYpYEAR)))/YEARSCOPE; #define DAYpYEAR 365.25 // The average over 4 years #define sDAYpYEAR 365 // What you usually say #define DAYpWEEK 7 #define DAY (int)((((int)((time(NULL)/SECpDAY)))-((YEAR-1970)*365.25))+1) #define LASTLEAPYEAR 2008 #define LEAPYEARINTERVAL 4 #define SINCELASTLEAPYEAR YEAR-LASTLEAPYEAR #define YEAR time(NULL)/31536000+1970 #define LEAPYEAR ((((YEAR-LASTLEAPYEAR)%LEAPYEARINTERVAL)==0)?true:false) #define FEBLENGTH (LEAPYEAR?29:28) #define MONTH month_function() #define MONTHSTRING monthstring_function(MONTH) #define DAYSINMONTH daysinmonth_function() #define DAYINMONTH dayinmonth_function() #define PRINTDATE printdate_function(dateformat) #define AVGDAYINMONTH 30.4375 string monthstring_function( int month ) { switch(month) { case(1): return "January"; break; case(2): return "February"; break; case(3): return "March"; break; case(4): return "April"; break; case(5): return "May"; break; case(6): return "June"; break; case(7): return "July"; break; case(8): return "August"; break; case(9): return "September"; break; case(10): return "October"; break; case(11): return "November"; break; case(12): return "December"; break; } return "Invalid month!"; } int dayinmonth_function() { int days = DAY; if ( days <= 31 ) // January { return days; } days -= 31; if ( days <= FEBLENGTH ) // February { return days; } days -= FEBLENGTH; if ( days <= 31 ) // March { return days; } days -= 30; if ( days <= 31 ) // April { return days; } days -= 31; if ( days <= 30 ) // May { return days; } days -= 30; if ( days <= 31 ) // June { return days; } days -= 31; if ( days <= 30 ) // July { return days; } days -= 30; if ( days <= 31 ) // August { return days; } days -= 31; if ( days <= 30 ) // September { return days; } days -= 30; if ( days <= 31 ) // October { return days; } days -= 31; if ( days <= 30 ) // November { return days; } days -= 30; if ( days <= 31) // December { return days; } return -1; } int month_function() { int days = DAY; if ( days <= 31 ) { return 1; } else if ( days <= FEBLENGTH+31 ) { return 2; } else if ( days <= FEBLENGTH+31+31) { return 3; } else if ( days <= FEBLENGTH+31+31+30 ) { return 4; } else if ( days <= FEBLENGTH+31+31+30+31 ) { return 5; } else if ( days <= FEBLENGTH+31+31+30+31+30 ) { return 6; } else if ( days <= FEBLENGTH+31+31+30+31+30+31) { return 7; } else if ( days <= FEBLENGTH+31+31+30+31+30+31+30) { return 8; } else if ( days <= FEBLENGTH+31+31+30+31+30+31+30+31) { return 9; } else if ( days <= FEBLENGTH+31+31+30+31+30+31+30+31+30) { return 10; } else if ( days <= FEBLENGTH+31+31+30+31+30+31+30+31+30+31) { return 11; } else if ( days <= FEBLENGTH+31+31+30+31+30+31+30+31+30+31+30) { return 12; } else { return -1; } } void printdate_function(int format) { if ( format == 0 ) cout<