はじめに

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件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。 が付いている欄は必須項目です