UNIXエポックからの経過時間



time関数はシステムコールの一つです。
//UNIXエポック(1970.01.01.AP00:00)を起点とした時間を秒を単位として返します。

$ man 2 time

SYNOPSIS
       #include <time.h>

       time_t time(time_t *t);

DESCRIPTION
       time()  returns  the  time  since the Epoch (00:00:00 UTC, January 1, 1970), measured in seconds.




/* mytime.c */
//低水準の時刻を表示するプログラム
#include<stdio.h> //printf
#include<time.h> //time
int main(void)
{
//UNIXエポック(1970.01.01.AP00:00)を起点とした時間(second)を表示
time_t mytime;
time(&mytime);

printf("The time is %ld\n", mytime);
       
        //UNIXエポックからの経過時間を自分で計算する
int mytime2;
mytime2 = (2012-1970) * 365 * 24 * 60 * 60;
printf("The time is %d\n", mytime2);

return 0;
}



$ ./mytime
The time is 1342781355
The time is 1324512000