Namespaces
Variants

time

From cppreference.net
ヘッダーで定義 <time.h>
time_t time ( time_t * arg ) ;

現在のカレンダー時刻を time_t オブジェクトとしてエンコードして返し、さらにそれを time_t オブジェクトが指す arg に格納します( arg がnullポインタでない場合)

目次

パラメータ

arg - time_t オブジェクトへのポインタ(時間が格納される)、またはヌルポインタ

戻り値

成功時には現在のカレンダー時間が time_t オブジェクトとしてエンコードされ、 ( time_t ) ( - 1 ) がエラー時に返されます。 arg がnullポインタでない場合、戻り値は arg が指すオブジェクトにも格納されます。

注記

time_t におけるカレンダー時間のエンコーディングは未規定ですが、ほとんどのシステムは POSIX仕様 に準拠し、 エポック からの経過秒数を保持する整数型の値を返します。 time_t が32ビット符号付き整数である実装(多くの歴史的実装)は 2038年 に問題が発生します。

#include <stdint.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
    time_t result = time(NULL);
    if (result != (time_t)(-1))
        printf("The current time is %s(%jd seconds since the Epoch)\n",
               asctime(gmtime(&result)), (intmax_t)result);
}

出力例:

The current time is Fri Apr 24 15:05:25 2015
(1429887925 seconds since the Epoch)

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.27.2.4 time関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.27.2.4 time関数 (p: 286)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.27.2.4 time関数 (p: 391)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.23.2.4 time関数 (p: 341)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.12.2.4 time関数

関連項目

エポックからの経過時間を現地時間で表した暦時間に変換する
(関数)
エポックからの経過時間を協定世界時(UTC)で表した暦時間に変換する
(関数)
指定された時間基準に基づいて秒とナノ秒単位の暦時間を返す
(関数)