ITメモ
C言語 / Programming Language C
開発環境 / Development Environment
【Mac】Xcode【Win】Visual Stadio
基礎 / Basic
About C言語書式コメントコンパイルとリンクメイクファイル / Makefileヘッダファイル変数定数型 / Type配列 / Arrayポインタ / Pointer演算子 / Operator制御文 / Control Statement関数指定子 / 修飾子構造体と共用体 / Structure & Unionプリプロセッサ / PreprocessorthisキーワードTypedef
入出力 / Input & Output
入出力入力フォーマット指定子出力フォーマット指定子「printf」関数を使って文字を出力・表示させる方法「printf_s」関数を使って文字を出力・表示させる方法「scanf」関数を使って入力させる方法「scanf_s」関数を使って入力させる方法「getchar」関数を使って「1文字」だけ入力させる方法「gets」関数を使って「文字列」を入力させる方法
文字列 / String
文字列 / String「snprintf」関数で「配列」に文字列を書き込む方法
ネットワーク / Network
memset - メモリブロックのセット
メモリー管理
メモリー
オペレーション / Operation
ファイルを操作をする方法コマンドラインプログラム / Command-Line Programプロセス / Processソケット通信 / Socket Communication
用語集 / Glossary
サブルーチン / Subroutineスタックとキュー / Stack & Cueスレッド / Thread
C言語標準ライブラリ(ヘッダファイル)
C言語標準ライブラリ【assert.h】 - 診断機能【complex.h】 - 複素数計算【ctype.h】 - 文字操作【errno.h】 - エラー【fenv.h】 - 浮動小数点環境【float.h】 - 浮動小数点型の特性【inttypes.h】 - 整数型の書式の変換【iso646.h】 - 代替つづり(Alternate spellings)【limits.h】 - 整数型の大きさ【locale.h】 - 文化圏固有操作【math.h】 - 数学【setjmp.h】 - 非局所分岐【signal.h】 - シグナル操作【stdalign.h】 - アライメント【stdarg.h】 - 可変個数の実引数【stdatomic.h】 - アトミック操作【stdbool.h】 - 論理型および論理値【stddef.h】 - 共通の定義【stdint.h】 - 整数型【stdio.h】 - 入出力【stdlib.h】 - 一般ユーティリティ【stdnoreturn.h】 - _Noreturn【string.h】 - 文字列操作【tgmath.h】 - 型総称数学関数(Type-generic math)【threads.h】 - マルチスレッド【time.h】 - 日付及び時間【uchar.h】 - Unicodeユーティリティ【wchar.h】 - 多バイトおよびワイド文字拡張ユーティリティ【wctype.h】 - ワイド文字種分類およびワイド文字大文字小文字変換ユーティリティ
C言語ライブラリ(ヘッダファイル)
C言語ヘッダファイル【winsock.h】





【C言語】標準ライブラリ【time.h】 - 日付及び時間

【C言語】
標準ライブラリ【time.h】
日付及び時間






日付及び時間 <time.h>

グレゴリオ暦に基づく日付等を扱うための型・マクロ・関数の宣言定義。

clock_tclock 関数が返す値の型
time_t時刻を表す型
struct tm暦時刻の各要素(時分秒等)を格納する構造体
CLOCKS_PER_SECclock 関数が返す値が秒単位に変換するために割る値を表すマクロ
asctimetm 構造体から文字列への変換
clockCPU使用時間
ctimetime_t 型から文字列への変換
difftimetime_t 型どうしの秒単位での差
gmtimeUTCの取得
localtime地方時刻の取得
mktimetm 構造体から time_t 型への変換
strftimetm 構造体から文字列への書式付き変換
time暦時刻



時間<time.h> :時刻を取り扱う関数群

時刻を取り扱う関数群。これらの関数はUNIXの慣習から
世界協定時刻(UTC)における 1970年1月1日0時0分0秒 を基準としている。
今後、説明文中では 1970年1月1日0時0分0秒 を 基準時刻 と表記する。




[ time ]  : 現在の時刻を基準時刻からの経過秒数で返す。
関数型 : time_t time(time_t *t);
引数  : 時刻を格納する変数のアドレス
戻り値 : 基準時刻からの経過秒数
機能  : 現在の時刻を基準時刻からの経過秒数で返す。
補足  : 引数を NULL で呼び出して戻り値だけを取得できる。
    : 環境によっては秒以外の単位を使うこともあります。
[ clock ]  : プログラムが使用したプロセス時間を返す。
関数型 : clock_t clock(void);
引数  : なし
戻り値 : 使用プロセス時間
機能  : プログラムが使用したプロセス時間を返す。
補足  : clock() / CLOCKS_PER_SEC とすることで秒単位の値を得られる。
注意  : マルチスレッド環境では経過時刻と一致しない。
[ difftime ]  : 時刻の引き算をする
関数型 : double difftime(time_t t1, time_t t2);
引数  : 基準時刻からの経過秒数1、基準時刻からの経過秒数2
戻り値 : 2つの経過秒数の差
機能  : 時刻の引き算をする。環境によっては秒以外の単位を使うこともあります。
[ localtime ]  : 基準時刻からの経過秒数を国内時刻に変換する。
関数型 : struct tm *localtime(const time_t *t);
引数  : 基準時刻からの経過秒数
戻り値 : 秒数を国内時刻情報に変換した構造体
機能  : 基準時刻からの経過秒数を国内時刻に変換する。
注意  : 戻り値はシステム全体で共有されたメモリ領域なので、
     必ず、別途宣言した構造体にコピーしておく必要がある。

[ gmtime ]  : 基準時刻からの経過秒数を国際時刻に変換する。
関数型 : struct tm *gmtime(const time_t *t);
引数  : 基準時刻からの経過秒数
戻り値 : 秒数を国際時刻情報に変換した構造体
機能  : 基準時刻からの経過秒数を国際時刻に変換する。
注意  : 戻り値はシステム全体で共有されたメモリ領域なので、必ず、別途宣言した構造体にコピーしておく必要がある。

[ asctime ]  : 時刻を Wed Feb 17 20:14:04 1988 のような文字列に変換する。
関数型 : char *asctime(const struct tm *tm);
引数  : 時刻を格納した構造体
戻り値 : 時刻を変換した文字列の先頭アドレス
機能  : 時刻を Wed Feb 17 20:14:04 1988 のような文字列に変換する。
注意  : 戻り値はシステム全体で共有されたメモリ領域なので、必ず、別途宣言した構造体にコピーしておく必要がある。

[ ctime ]  : 時刻を Wed Feb 17 20:14:04 1988 のような文字列に変換する。
関数型 : char *ctime(const time_t *t);
引数  : 基準時刻からの経過秒数
戻り値 : 時刻を変換した文字列の先頭アドレス
機能  : 時刻を Wed Feb 17 20:14:04 1988 のような文字列に変換する。
注意  : 戻り値はシステム全体で共有されたメモリ領域なので、必ず、別途宣言した構造体にコピーしておく必要がある。

[ strftime ]  : 時刻を指定された書式通りに文字列に変換する。
関数型 : size_t strftime(char *s, size_t smax, const char *fmt, const struct tm *tp);
引数  : 文字配列、文字配列のサイズ、時刻書式指定文字列、時刻を格納した構造体
戻り値 : 配列に書き込まれた文字数。失敗した場合は0。
機能  : 時刻を指定された書式通りに文字列に変換する。