convert month/day/year/time to timeval in C/C++

user8125 picture user8125 · Mar 30, 2011 · Viewed 11k times · Source

In C/C++, suppose I have the following values:

int year = 2010;
int month = 6;
int day = 15;
int hour = 14;
int minute = 52;
int seconds = 34;
int microseconds = 141231;

What's the easiest way to convert this to a timeval? I think timeval is time since Jan 1, 1970? But to calculate this manually everytime seems very tedious. What's the easiest (and fastest) way to do this?

Thanks

Answer

Carl Norum picture Carl Norum · Mar 30, 2011

You can use mktime(3) to convert a struct tm structure into a time_t. After you have the time_t, you can copy it and your microseconds value directly into a struct timeval structure.