例如,我想算一下我在地球上生活了多少秒。 使用gettimeofday()/ time(),我可以获得自Epoch以来的秒数,我想要的是从Epoch到我的生日的差异,所以我的问题是有如下函数:
time_t gettimeof_specified_day(my_birthday);
它将从Epoch到我生日的秒数返回,然后我可以使用difftime(现在,生日)来获得我想要的东西。
答案 0 :(得分:1)
您可以使用mktime(3)
功能将任何特定的日历日期和时间(表示为struct tm
实例)转换为time_t
值:
// Convert April 14, 1980 00:00:00 (local time, based on your computer's
// current time zone) into a time_t
struct tm my_birthday;
memset(&my_birthday, 0, sizeof(my_birthday));
my_birthday.tm_year = 80; // Number of years since 1900
my_birthday.tm_mon = 3; // Month from 0-11
my_birthday.tm_mday = 14; // Day of month from 1-31
time_t t = mktime(&my_birthday);