(Translated by https://www.hiragana.jp/)
time.h - Wikipedia コンテンツにスキップ

time.h

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

time.hは、日付ひづけ時間じかん操作そうさするための実装じっそう提供ていきょうするC言語げんご標準ひょうじゅんライブラリヘッダファイルである。time.hでは、システム時刻じこく取得しゅとく日付ひづけ形式けいしき変換へんかん書式しょしき設定せっていされた文字もじれつとして出力しゅつりょくする機能きのう対応たいおうしている[1]

機能きのう概要がいよう

[編集へんしゅう]

C言語げんご日付ひづけ時間じかん操作そうさかんする機能きのうは、time.hヘッダファイル[注釈ちゅうしゃく 1]定義ていぎされている。

識別子しきべつし 説明せつめい
時間じかん操作そうさ difftime 2つのtime_tかたびょう単位たんい計算けいさんする。
time 現在げんざいシステム時刻じこくびょうすうあらわtime_tかたとしてかえ[注釈ちゅうしゃく 2]。エポックのはオペレーティングシステムよってことなり、1900ねんと1970ねんがよく使つかわれる。RFC 868参照さんしょう
clock プロセスに関連付かんれんづけられたCPU時間じかんかえす。
timespec_get(C11) 指定していされたベース時間じかんもとづいたカレンダー時間じかんかえす。
形式けいしき変換へんかん asctime struct tmかたのオブジェクトを文字もじれつ表現ひょうげん変換へんかんする(推奨すいしょう)。
ctime time_tかた文字もじれつ表現ひょうげん変換へんかんする。
strftime struct tmかたのオブジェクトを指定していされた書式しょしき設定せっていもとづいた文字もじれつ表現ひょうげん変換へんかんする。
strptime struct tm時間じかん情報じょうほうふくんだ文字もじれつstruct tmかた変換へんかんする。
wcsftime struct tmかたのオブジェクトを指定していされた書式しょしき設定せっていもとづいたワイド文字もじれつ表現ひょうげん変換へんかんする。
gmtime time_tかた協定きょうてい世界せかいとして表現ひょうげんされるカレンダー時間じかん変換へんかんする[2]
localtime time_tかた現地げんち時間じかんとして表現ひょうげんされるカレンダー時間じかん変換へんかんする。
mktime カレンダー時間じかんtime_tかた変換へんかんする。
定数ていすう CLOCKS_PER_SEC 1びょうあたりのCPU時間じかん
TIME_UTC 協定きょうてい世界せかいのためのベース時間じかん
データがた struct tm カレンダー時間じかんかく要素ようそあらわす。
time_t 算術さんじゅつがたとして定義ていぎされている時間じかんがた[注釈ちゅうしゃく 3]
clock_t CPU時間じかんあらわす。
timespec びょう単位たんいとナノびょう単位たんい時間じかんあらわす。

timespecかた関連かんれんするかたは、当初とうしょ様々さまざまなベース時間じかん提供ていきょうするためにMarkus Kuhnによって提案ていあんされたが、TIME_UTCのみがれられた[3]。ただし、この機能きのうは2020ねんC++std::chrono追加ついかされた。

以下いかのC言語げんごのコードは、現在げんざい時間じかん標準ひょうじゅん出力しゅつりょく出力しゅつりょくする。

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

int main(void)
{
    time_t current_time;
    char* c_time_string;

    /* Obtain current time. */
    current_time = time(NULL);

    if (current_time == ((time_t)-1))
    {
        (void) fprintf(stderr, "Failure to obtain the current time.\n");
        exit(EXIT_FAILURE);
    }

    /* Convert to local time format. */
    c_time_string = ctime(&current_time);

    if (c_time_string == NULL)
    {
        (void) fprintf(stderr, "Failure to convert the current time.\n");
        exit(EXIT_FAILURE);
    }

    /* Print to stdout. ctime() has already added a terminating newline character. */
    (void) printf("Current time is %s", c_time_string);
    exit(EXIT_SUCCESS);
}

出力しゅつりょく:

Current time is Thu Sep 15 21:18:23 2016

脚注きゃくちゅう

[編集へんしゅう]

注釈ちゅうしゃく

[編集へんしゅう]
  1. ^ C++ではctimeヘッダ。
  2. ^ これは通常つうじょうエポック英語えいごばんからの経過けいか時間じかんであり、一般いっぱんてきにはUNIXエポックである。
  3. ^ 通常つうじょうはUNIXエポックからの経過けいか時間じかん

出典しゅってん

[編集へんしゅう]
  1. ^ ISO/IEC 9899:1999 specification. p. 351, § 7.32.2. http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf 
  2. ^ open-std.org - Committee Draft -- May 6, 2005 page 355
  3. ^ Markus Kuhn. “Modernized API for ISO C”. cl.cam.ac.uk. 2023ねん11月30にち閲覧えつらん

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]