是否有Linux系统调用提供从特定日期开始的秒数



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

time_t gettimeof_specified_day(my_birthday);

它返回从Epoch到我的生日的秒数,然后我可以使用difftime(now, birthday)来得到我想要的。

您可以使用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);

最新更新