ゾンビでもわかるC言語プログラミング

C言語入門者の応援をします

time関数で現在時刻を取得する

1. はじめに

C言語で現在時刻を取得するには、time関数を使用します。

time関数の書式は以下になります。

#include <time.h>
time_t time(time_t *t);  

time関数の引数は、通常 NULL を指定します。
NULL以外の場合は、戻り値は引数の指しているメモリーにも格納されます。
また、型は time_t (unsigned long int) になります。

2. time関数を使用してみる

以下のコードを実行してみましょう。

#include <stdio.h>
#include <time.h>

int main() {
    time_t t;

    t = time(NULL);
    printf("%lu\n", t);

    return 0;
}

以下が出力になります。

1509769327

なにやらよく分からない値が出力されましたが、これは、エポック秒といい、紀元からの経過秒数です。

3. 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

4. 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

書籍

新・明解C言語 入門編 (明解シリーズ)

新・明解C言語 入門編 (明解シリーズ)

苦しんで覚えるC言語

苦しんで覚えるC言語

やさしいC 第5版 (「やさしい」シリーズ)

やさしいC 第5版 (「やさしい」シリーズ)

C実践プログラミング 第3版

C実践プログラミング 第3版