是否有Linux系统调用提供自特定日期以来的秒数?

时间:2014-05-08 04:30:12

标签: c linux

例如,我想算一下我在地球上生活了多少秒。 使用gettimeofday()/ time(),我可以获得自Epoch以来的秒数,我想要的是从Epoch到我的生日的差异,所以我的问题是有如下函数:

time_t gettimeof_specified_day(my_birthday);

它将从Epoch到我生日的秒数返回,然后我可以使用difftime(现在,生日)来获得我想要的东西。

1 个答案:

答案 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);