はじめに
C言語で現在時刻を取得するには、time関数を使用する。
time関数の書式は以下になる。
#include <time.h>
time_t time(time_t *t);
time関数の引数は、通常 NULL を指定する。
NULL以外の場合は、戻り値は引数の指しているメモリーにも格納される。
また、型は time_t (unsigned long int) になる。
time関数を使用してみる
以下のコードを実行してみる。
#include <stdio.h>
#include <time.h>
int main() {
time_t t;
t = time(NULL);
printf("%lu\n", t);
return 0;
}
以下が出力になります。
1509769327
なにやらよく分からない値が出力されたが、これはエポック秒という紀元からの経過秒数である。
ctime関数を使用してみる
ctime関数を使用することで、エポック秒を読めるように文字列に変換することができる。
ctimeの書式は以下になる。
#include <time.h>
char *ctime(const time_t *timer);
#include <stdio.h>
#include <time.h>
int main() {
time_t t;
t = time(NULL);
printf("%s", ctime(&t));
return 0;
}
出力
Sat Nov 4 13:25:28 2017
time関数に引数を指定してみる
timeの引数はNULL以外の時、引数の指しているメモリーにも戻り値が格納される。
#include <stdio.h>
#include <time.h>
int main() {
time_t a, *p;
p = &a;
printf("%lu\n", time(p));
printf("%lu\n", a);
return 0;
}
出力
1509769162
1509769162
0件のコメント