ソースの先頭にあらかじめ
#include <time.h>を入れておけば
time_t t; struct tm *s; time(&t); s=localtime(&t);を実行後にsのメンバ変数を参照することで現在の日付や時刻が分かります。
ちなみにtm構造体は以下のようになっています。
struct tm { int tm_sec; /* 秒(0-61)(60,61は閏秒対応) */ int tm_min; /* 分(0~59) */ int tm_hour; /* 時(0~23) */ int tm_mday; /* 日(1~31) */ int tm_mon; /* 月(0:1月,1:2月,...11:12月) */ int tm_year; /* 1900からの経過年数 */ int tm_wday; /* 曜日(0:日,1:月,...,6:土) */ int tm_yday; /* 1月1日からの経過日数(0~365) */ int tm_isdst; /* 夏時間(0:無効) */ };が、文字列に整形するのが面倒という私のようなずぼらな人間用にctime()が用意されていて、
time_t t; char buff[32]; if(time(&t)){ if(!ctime_r(&t,buff)) strcpy(buff,"no time\n"); } else strcpy(buff,"no time\n"); printf("%s",buff);のように書くことができます。
なおこの場合の文字列は
Sun Jan 23 01:23:45 1970のような形式になります。
0 件のコメント:
コメントを投稿