C 日付および時刻関数

フリー百科事典ウィキペディアより
ナビゲーションにジャンプ 検索にジャンプ

C 日付および時刻関数は、日付および時刻操作操作を実装するC プログラミング言語の標準ライブラリーに含まれる関数のグループです。[1]時刻の取得、日付形式間の変換、書式設定された出力を文字列にサポートします

機能概要

C の日付と時刻の操作は、time.h ヘッダー ファイル( C++ ではctimeheader ) で定義されます。

識別子 説明
時間
操作
difftime time_t2 つの値 の差を秒単位で計算します
time システムの現在の時間をtime_t秒数の値として返します(これは通常、 epoch、通常はUnix epochからの時間です)。エポックの値はオペレーティング システムに依存します。1900 年と 1970 年がよく使われます。RFC 868 を参照してください。
clock プロセスに関連付けられ たプロセッサのティック数を返します
timespec_get(C11) タイムベースに基づいてカレンダー時間を返します
フォーマット
変換
asctime struct tmオブジェクトをテキスト表現に 変換します (非推奨)
ctime time_t値をテキスト表現に 変換します
strftime struct tmオブジェクトをカスタム テキスト表現に 変換します
strptime 時刻情報を含む文字列をstruct tm
wcsftime struct tmオブジェクトをカスタム ワイド文字列テキスト表現に 変換します
gmtime 協定世界時[2]time_tとして表されるカレンダー時間に値を変換します。
localtime time_t値を現地時間として表される暦時間に 変換します
mktime カレンダー時間をtime_t値に変換します。
定数 CLOCKS_PER_SEC 1 秒あたりのプロセッサ クロック ティック数
TIME_UTC UTC の時間基準
種類 struct tm 分解されたカレンダー時間タイプ: 年、月、日、時、分、秒
time_t 算術時間タイプ (通常、Unix エポック以降の時間)
clock_t プロセス実行時間タイプ
timespec 秒とナノ秒の時間

およびtimespec関連するタイプは、さまざまな時間基準を提供するために Markus Kuhn によって最初に提案されましたが、TIME_UTC受け入れられただけでした。[3]ただし、機能は std::chrono で 2020 年に C++ に追加されました。

次の C ソース コードは、現在の時刻を標準出力ストリームに出力します。

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

int main (ボイド) 
{
    time_t current_time ; 
    char * c_time_string ; 

    /* 現在時刻を取得します。*/
    current_time = time ( NULL );  

    if ( current_time == (( time_t ) -1 ))   
    {
        ( void ) fprintf ( stderr , "現在時刻の取得に失敗しました。\n " );  
        終了( EXIT_FAILURE );
    }

    /* 現地時間形式に変換します。*/
    c_time_string = ctime ( & current_time );  

    if ( c_time_string == NULL )   
    {
        ( void ) fprintf ( stderr , "現在時刻の変換に失敗しました。\n " );  
        終了( EXIT_FAILURE );
    }

    /* 標準出力に出力します。ctime() は既に終了改行文字を追加しています。*/
    ( void ) printf ( "現在の時刻は %s" , c_time_string );  
    終了( EXIT_SUCCESS );
}

出力は次のとおりです。

現在の時刻は 2016 年 9 月 15 日木曜日 21:18:23 です

も参照

参考文献

  1. ^ ISO/IEC 9899:1999 仕様 (PDF) . p。351、§ 7.32.2。
  2. ^ open-std.org - 委員会草案 -- 2005 年 5 月 6 日355 ページ
  3. ^ マーカス・クーン. 「ISO C 用に最新化された API」 . cl.cam.ac.uk .

外部リンク