時間プログラミング受講ノート
カレンダー時間:1970年1月1日0時から現在までの説明
ヘッダファイル:time.h
1.取得カレンダ時間
戻り値とパラメータの指定time_tはカレンダー時間です
例:
2.時間変換
Greenwich mean timeに変換
ローカル時間に変換
Greenwich mean timeに変換
文字列に変換
Sat Jul 30 08:23:33 2005
ローカル文字列に変換
3.早朝から現在までの時間差を取得
通常2回gettimeofday計算プログラムが実行される時間
4.遅延実行
睡眠seconds秒
スリープusecマイクロ秒
ヘッダファイル:time.h
1.取得カレンダ時間
time_t time(time_t *tloc)
戻り値とパラメータの指定time_tはカレンダー時間です
例:
time_t t=time(NULL);
2.時間変換
Greenwich mean timeに変換
struct tm *gmtime(const time_t *timep)
ローカル時間に変換
struct tm *localtime(const time_t *timep)
Greenwich mean timeに変換
struct tm{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;//
int tm_mon;
int tm_year;//tm_year+1900=
int tm_wday;//
int tm_yday;//
int tm_isdst;//
};
文字列に変換
char *asctime(const struct tm *tm)
Sat Jul 30 08:23:33 2005
ローカル文字列に変換
char *ctime(const time_t *timep)
3.早朝から現在までの時間差を取得
int gettimeofday(struct timeval *tv, struct timezone *tz)
struct timeval{
int tv_sec;//
int tv_usec;//
}
通常2回gettimeofday計算プログラムが実行される時間
struct timeval start, end;
float timeuse;
gettimeofday(&start, NULL);
function();
gettimeofday(&end, NULL);
timeuse=1000000 *(end.tv_sec - start.tv_sec)+end.tv_usec-start.tv_usec;
timeuse/=1000000l
printf("Used time: %f
", timeuse);
4.遅延実行
睡眠seconds秒
unsigned int sleep(unsigned int seconds)
スリープusecマイクロ秒
void sleep(unsigned long usec)