C言語学習ポータル(無料版) 学習コンテンツ 関数リファレンス localtime

🔧 時間 ・ time.h ・ C89

localtime の使い方

C言語 標準ライブラリ関数リファレンス(無料公開)

書式

struct tm *localtime(const time_t *timer);

どんな関数か

time_t型のカレンダー時刻を、実行環境のタイムゾーンに基づいたstruct tm(年月日時分秒)へ分解する。戻り値は内部の静的バッファを指すため、再度呼ぶと以前の結果が上書きされる。 UTCのまま分解したい場合は代わりにgmtimeを使う、localtimeと対になる関数も用意されている。

使用例

#include <time.h>
#include <stdio.h>
int main(void) {
    time_t now = time(NULL);
    struct tm *lt = localtime(&now);
    printf("%d-%02d-%02d\n", lt->tm_year + 1900, lt->tm_mon + 1, lt->tm_mday);
    return 0;
}

つまずきやすい注意点

⚠️ 戻り値は静的バッファを指すため、マルチスレッドでは競合する。スレッドセーフが必要ならlocaltime_sやlocaltime_rを使う。

アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ

localtime と一緒に使う関数

mktimestruct tm(年月日時分秒に分解されたローカル時刻)をtime_t型のカレンダー時刻へ変換する。範囲外の値(例:1… time現在のカレンダー時刻をtime_t型(多くの処理系で1970年1月1日からの経過秒数)で取得する。引数にポインタを渡すと…

同じ分類(時間)の関数

clock difftime mktime time timespec_get

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る