gmtimeは、指定されたtime_t型変数のUNIX時間をグリニッジ標準時の時刻に変換し、
時刻情報をtm構造体に格納するC標準ライブラリ関数・・・。
(これ自身はシステムコールではないが、timeシステムコールに関連するライブラリ関数なので、このカテゴリで扱う・・・。)
tm構造体は、年月日や、時分秒から、七曜、夏時間までのさまざまな情報を格納している・・・。
今回は、tm構造体を使って現在時刻を文字列表現する・・・。
現在のUNIX時間を格納するt、変換したグリニッジ標準時を格納するtm構造体のポインタtm_ptrを用意する・・・。
gmtimeはtm構造体そのものを返せないので、ポインタでアクセスするしかない・・・。
timeでUNIX時間を取得しtに格納・・・。
gmtimeにtのアドレスを渡す・・・。すると、グリニッジ標準時のtm構造体のポインタがtm_ptr返ってくる・・・。
tm_yearは年の下2桁、tm_monは月(ただし0から始まる)、tm_mdayは日、tm_hourは時間、tm_minは分、tm_secは秒・・・。
これをprintfで指定書式で出力・・・。
$ ./gmtime [GMT] 2015/6/26 5:30:22 $ ./gmtime [GMT] 2015/6/26 5:30:23 $ ./gmtime [GMT] 2015/6/26 5:30:24 $
このように実行するたびに現在時刻の文字列が出力される・・・。