Search code examples
ctimeusingtime.h

How to use the date and time that i get from time.h function


Let's say the user is prompted for the date - e.g. Friday. How can that string be used to correctly compare with another sting?

#include <stdio.h>
#include <time.h>

int main(void)
{

time_t current_time;
struct tm * time_info;
char timeString[9];
time(&current_time);
time_info = localtime(&current_time);

strftime(timeString, sizeof(timeString), "%A", time_info);
printf("%s\n",timeString);

if (timeString == "Friday")
    {printf("Weekday");

    }
else 
    {printf("not weekday");
    }


return 0;
}

The program keeps printing out not weekday.


Solution

  • Use strncmp() instead of comparing the string with ==:

    if (strncmp(timeString,"Friday",7) == 0)
        {printf("Weekday");
    
    }
    

    See this in action at tutorialspoint.com: Friday

    Currently, it is Thursday (for ~50% of the world) - so try this one: Thursday