ctime

CTIME(3)                    Linux Programmer's Manual                   CTIME(3)



名前
       asctime, ctime, gmtime, localtime, mktime - バイナリデータと時刻のASCIIへの変換

書式
       #include <time.h>

       char *asctime(const struct tm *timeptr);

       char *ctime(const time_t *timep);

       struct tm *gmtime(const time_t *timep);

       struct tm *localtime(const time_t *timep);

       time_t mktime(struct tm *timeptr);

       extern char *tzname[2];
       extern long int timezone;
       extern int daylight;

説明
       関数 ctime(), gmtime() そして localtime() time_t 型のカレンダー時刻を引き数とする。
       引き数の値は協定世界時(UTC) 1970年1月1日 00:00:00 からの経過秒数と解釈される。

       関数 asctime() mktime() は 年・月・日などに分離されたバイナリデータからなる時刻要素を引き数とする。 時刻要素は
       <time.h> で以下のように定義されている tm 構造体に保持される。

              struct tm
              {
                      int     tm_sec;                 /* 秒 */
                      int     tm_min;                 /* 分 */
                      int     tm_hour;                /* 時間 */
                      int     tm_mday;                /* 日 */
                      int     tm_mon;                 /* 月 */
                      int     tm_year;                /* 年 */
                      int     tm_wday;                /* 曜日 */
                      int     tm_yday;                /* 年内通算日 */
                      int     tm_isdst;               /* 夏時間 */
              };

       tm 構造体のメンバーは以下の通り:

       tm_sec 秒数、ふつうは0から59までの値、 しかし閏秒のため61までの値は許される。

       tm_min 分数、0から59までの値。

       tm_hour
              真夜中からの通算時間、0から23までの値。

       tm_mday
              月はじめからの日数、1から31までの値。

       tm_mon 1月からの通算月数、0から11までの値。

       tm_year
              1900 年からの通算年数。

       tm_wday
              日曜日からの通算日数(曜日)。0から6までの値。

       tm_yday
              1月1日からの通算日数、0から365までの値。

       tm_isdst
              夏時間が有効かどうかのフラグ。 正の値ならば夏時間は有効になり、0ならば無効、負の値ならばこの情報には 意味がない。

       関数 ctime() はカレンダー時刻 timep を

              "Wed Jun 30 21:49:08 1993\n"

       という形式の文字列へ変換する。 曜日の略称は `Sun', `Mon', `Tue', `Wed', `Thu', `Fri', そして
       `Sat' である。 月の略称は `Jan', `Feb', `Mar', `Apr', `May', `Jun', `Jul', `Aug',
       `Sep', `Oct', `Nov', そして `Dec' である。 返り値は静的な領域に確保された文字列へのポインタである。この領域は
       任意の日付・時刻関数の呼び出しによって上書きされうる。 またこの関数は大域変数 tzname に現在のタイムゾーンの情報を設定す る。

       関数 gmtime() はカレンダー時刻 timep を 協定世界時(UTC)での時刻要素へ変換する。

       関数 localtime() はユーザが明示したタイムゾーンでの時刻要素 へ変換する。 この関数は大域変数 tzname
       に現在のタイムゾーンの情報を設定する。 このとき、timezone は協定世界時(UTC)とローカル標準時との時差の秒 数と解釈され、
       daylight が0でなければ標準US夏時間ルールが適用される。

       関数 asctime() は時刻要素 timeptr ctime() と同じ形式の文字列へ変換する。
       返り値は静的な領域に確保された文字列へのポインタである。この領域は 任意の日付・時刻関数の呼び出しによって上書きされうる。

       関数 mktime() は時刻要素をカレンダー時刻へ変換する。 この関数は時刻要素のうち tm_wday tm_yday の値は無視し、
       他の時刻要素からそれらを再計算する。 関数 mktime() を呼び出すと、大域変数 tzname が現在のタイム
       ゾーンに設定される。もし時刻要素をカレンダー時刻で表現することができな かったならば、mktime() は(time_t)(-1)を返し時刻要素
       tm_wday tm_yday は変更しない。

準拠
       SVID 3, POSIX, BSD 4.3, ISO 9899

関連項目
       date(1), gettimeofday(2), time(2), tzset(3), difftime(3), strftime(3)



BSD                               June 30, 1993                         CTIME(3)