Your code
Code:
#include <stdio.h>
#include <time.h>
int main()
{
time_t now;
time_t timeGrad;
struct tm *timeinfo;
struct tm *grad;
/* current time */
time(&now);
timeinfo = localtime(&now);
/* graduation time */
time(&timeGrad);
grad = localtime(&timeGrad);
grad->tm_sec = 0;
grad->tm_min = 0;
grad->tm_hour = 0;
grad->tm_mday = 24;
grad->tm_mon = 4;
grad->tm_year = 113;
// printf("Grad date is %d-%d-%d\n", grad->tm_mon+1, grad->tm_mday, grad->tm_year+1900);
/*print out unformatted*/
printf("The current time is %s", ctime(&now));
/*Format and print time, mm-dd-yyyy*/
printf("The date is %d-%d-%d\n", timeinfo->tm_mon+1, timeinfo->tm_mday, timeinfo->tm_year+1900);
printf("Grad date is %d-%d-%d\n", grad->tm_mon+1, grad->tm_mday, grad->tm_year+1900);
return 0;
}
localtime() returns a pointer to some hidden local storage. So as you modify it, everything that points to it ALSO changes.
If you want to make unique copies, do this
struct tm timeinfo = *localtime(&now);