日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
gmtime, gmtime_r |
秒数で表した時間を年月日時分秒形式の UTC 時刻に変換します。
#include <time.h>関数バリアント _DECC_V4_SOURCE および _VMS_V6_SOURCE 機能テスト・マクロを定義してコンパイルすると, gmtime_r関数に対して, OpenVMS Version 7.0 より前の動作に相当するローカル時刻べースのエントリ・ポイントが有効になります。struct tm *gmtime (const time_t *timer);
struct tm *gmtime_r (const time_t *timer, struct tm *result); (ISO POSIX-1)
timer
Epoch からの経過時間を秒数で指定する変数を指すポインタ。result
結果が格納される tm構造体を指すポインタ。tm構造体は <time.h>ヘッダ・ファイルに定義されており, localtimeの説明の 表 1-4 にも示されています。
gmtime関数と gmtime_r関数は, timer によって示される時刻 (Epoch からの経過時間 (秒数)) を,協定世界時 (UTC) として表した年月日時分秒形式の時刻に変換し, tm構造体に格納します。gmtime_r関数と gmtime関数の違いは, gmtime_r関数は,ユーザ指定の tm構造体に結果を格納するのに対し, gmtime関数は, HP C RTL で割り当てられたスレッド固有の静的メモリに結果を格納する点です。このため, gmtimeを再び呼び出すと,結果が上書きされます。結果を保存する必要がある場合は,コピーを作成しなければなりません。
gmtimeは,正常終了すると, tm構造体を指すポインタを返します。 gmtime_rは 2 番目の引数を返します。異常終了すると,これらの関数は NULL ポインタを返します。
注意
一般に,UTC ベースの時刻関数は,プロセス単位のデータであるメモリ内のタイム・ゾーン情報に影響を与える可能性があります。しかし,アプリケーションの実行中,システム・タイム・ゾーンが変化せず ( これは一般的なケースです ),タイム・ゾーン・ファイルのキャッシュが有効に設定されている場合 ( これはデフォルトです ),時刻関数 asctime_r, ctime_r, gmtime_r, localtime_rの _rバリアントはスレッド・セーフで,かつ AST リエントラントです。しかし,アプリケーションの実行中にシステム・タイム・ゾーンが変化する可能性がある場合や,タイム・ゾーン・ファイルのキャッシュが有効に設定されていない場合は,UTC ベースの時刻関数のバリアントはいずれも 3 番目の関数クラスに属し,これはスレッド・セーフでも AST リエントラントでもありません。
x tm 構造体を指すポインタ。 NULL エラーを示します。 errno は次の値に設定されます。
- EINVAL--- timer 引数が NULL です。
目次 | 索引 |
|