こんにちは、もがちゃんです。
今回は、C言語で現在日時を取得する際に良く使用するtimeの使い方を簡単なサンプルプログラムとともに説明します。
目次
timeの構文
#include <time.h>
time_t time(time_t *timer);
timeの説明
timeは、現在日時の情報を返します。
time関数は、その時点の暦時刻を決定する。その値の表現形式は、未規定とする。
JISX3010 プログラム言語C
timer
現在日時の情報を格納する領域の先頭ポインタを指定します。
NULLポインタ指定の場合は、現在日時の情報は格納されません。
返却値
現在日時の情報取得に
成功した場合、現在日時の情報を返す。
失敗した場合、(time_t)(-1)を返す。
timeの使い方サンプル
timerにNULLを指定してtimeを使用した場合と現在日時の情報を格納する領域の先頭ポインタを指定してtimeを使用した場合のサンプルプログラムとその結果を紹介します。
サンプルプログラムとその実行結果
#include <stdio.h>
#include <time.h>
int main(void) {
time_t p = (time_t)0;
time_t* timer = NULL;
//timer == NULL指定時
time_t t = time(timer);
fprintf(stdout, "timer(%p):%ld\n", timer, t);
fprintf(stdout, "\n");
t = (time_t)0;
timer = &p;
//timer != NULL指定時
fprintf(stdout, "timer[%p]:%ld\n", timer, *timer);
t = time(timer);
fprintf(stdout, "timer(%p):%ld\n", timer, t);
fprintf(stdout, "timer[%p]:%ld\n", timer, *timer);
}
timeの使い方まとめ
- timerには、NULLポインタも指定が可能
- timeは、その時点の日時情報を取得するので、日時情報を更新するためには、都度timeを使用しなければならない
- timeで取得した日時情報を人が理解できるような情報にするには、gmtimeやlocaltimeなどを使用する必要がある