日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトル
目次
まえがき
リファレンス・セクション
   ≫ライブラリ関数一覧
索引
PDF
OpenVMS ホーム

HP OpenVMS
HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)


目次 索引




時刻値を,分割されたローカル時刻に変換します。

形式

#include <time.h>

struct tm *localtime (const time_t *timer);

struct tm *localtime_r (const time_t *timer, struct tm *result); (ISO POSIX-1)

関数バリアント _DECC_V4_SOURCE および _VMS_V6_SOURCE 機能テスト・マクロを定義してコンパイルすると,OpenVMS Version 7.0 より前の動作と等価な, localtime_r関数へのローカル時刻ベースのエントリ・ポイントが使用可能となります。

引数



timer

Epoch 後の経過秒数へのポインタ。この時刻は, time関数を使って生成することも,独自に指定することもできます。

result

結果が格納される tm構造体へのポインタ。 tm構造体は <time.h>ヘッダ・ファイルに定義されており, 表 1-4 にも示しています。

説明

localtimeおよび localtime_r関数は, timer によって指定された時刻 (Epoch 後の経過秒数) を,ローカル時刻で表現される分割された時刻に変換し, tm構造体に格納します。

localtime_r関数と localtime関数の違いは,前者が結果をユーザ指定の tm構造体に格納することです。後者は結果を HP C RTL によって割り当てられたスレッド固有の静的メモリに格納します。これは,後の localtimeの呼び出しによって上書きされるので,保存しておきたい場合にはコピーを作成する必要があります。

実行に成功すると, localtimetm構造体へのポインタを返し, localtime_rはその第 2 引数を返します。実行に失敗すると,これらの関数は NULL ポインタを返します。

tm構造体は <time.h>ヘッダ・ファイルに定義されており, 表 1-4 にも示しています。

表 1-4 tm 構造体
int tm_sec ; 秒 (0-60)
int tm_min ; 分 (0-59)
int tm_hour ; 時 (0-23)
int tm_mday ; 日 (1-31)
int tm_mon ; 月 (0-11)
int tm_year ; 1900 年を基準とした年
int tm_wday ; 日曜日を基準とした曜日 (0-6)
int tm_yday ; 1 月 1 日からの日数 (0-365)
int tm_isdst ; サマータイム・フラグ

  • tm_isdst = 0 標準

  • tm_isdst = 1 サマータイム

long tm_gmtoff ;1 グリニッジ標準時からの東へのずれの秒数 ( 負の値はグリニッジ標準時からの西へのずれの秒数を示す )
char * tm_zone ;1 タイム・ゾーン文字列。例: "GMT"


1このフィールドは ANSI C 構造体に対する拡張です。このフィールドは,プログラムのコンパイルの際に /STANDARD=ANSI89 を指定するか, _DECC_V4_SOURCE を定義した場合には存在しません。

time_t型は, <time.h>ヘッダ・ファイルに,次のように定義されています。

typedef long int time_t 

  注意
一般に,UTC ベースの時刻関数は,全プロセス的なデータであるメモリ内のタイム・ゾーン情報に影響を与えることがあります。ただし,アプリケーションの実行中にシステム・タイム・ゾーンが変化せず ( 通常は変化しません ),タイム・ゾーン・ファイルのキャッシュが有効になっていれば (デフォルトの設定),時刻関数の _rバリアント, asctime_rctime_rgmtime_r,および localtime_rは,スレッドセーフかつ AST リエントラントとなります。

ただし,アプリケーションの実行中にシステム・タイム・ゾーンが変化する可能性がある場合,またはタイム・ゾーン・ファイルのキャッシュが有効になっていない場合には, UTC ベースの時刻関数の両方のバリアントは,スレッドセーフでも AST リエントラントでもない第 3 クラスの関数に属します。


戻り値

x tm 構造体へのポインタ。
NULL 失敗を示します。


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.