getdate - ライブラリコールの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- 返り値
- 注意
- 環境変数
- 準拠
- 関連項目
名前
getdate - 文字列を tm 構造体に変換する
書式
"#define _XOPEN_SOURCE"
"#define _XOPEN_SOURCE_EXTENDED
"#include <time.h>"
struct tm *getdate (const char *
string
);
extern int getdate_err;
"#define _GNU_SOURCE"
"#include <time.h>"
int getdate_r (const char *
string
, struct tm *
res
);
説明
getdate
()関数は、ポインタ
string
が指す文字列を tm 構造体に変換し、その構造体を返す。
この tm 構造体は静的なメモリ領域にあるので、
次の呼び出しが行われ、上書きされているかもしれない。
strptime
(3) (
format
引数を取る) とは対照的に、
getdate
()はファイルに書いてあるフォーマットを用いる
(このファイルのフルパスは
DATEMSK
環境変数に与えられている)。
マッチの際には大文字小文字を区別しない。
パターン中でも変換される文字列中でも、余分な空白文字は無視される。
パターンに指定できる変換指定は、
strptime
(3) のものと同じである。ただしひとつ変換指定が追加されている。
-
%Z
-
タイムゾーンの名前。
%Z
が与えられると、返される値は、そのタイムゾーンの現在時刻に対応する
要素別の時刻 (broken-down time) に初期化される。
与えられていないときは、現在のローカルタイムに対応する
要素別の時刻に初期化される。
曜日だけが指定された場合は、
今日または今日以降で、
その曜日に合致する最初の日が採用される。
月だけが指定された場合 (年の指定はなし) は、
今月または今月以降で、
その月に合致する最初の月が採用される。
時・分・秒がいずれも指定されなかった場合は、
現在の時・分・秒が採用される。
日付の指定がなかったが、時間 (hour) だけ指定された場合は、
現在の時間またはそれ以降で、その指定に合致する最初の時間が採用される。
返り値
成功すると、この関数は
struct tm
へのポインタを返す。
失敗すると NULL を返し、グローバル変数
getdate_err
を設定する。
errno
を変更することは規定されていない。
getdate_err
には以下の値が定義されている。
-
1
-
DATEMASK 環境変数が空または未定義である。
-
2
-
テンプレートファイルを読み込みオープンできない。
-
3
-
ファイルステータスの情報が取得できない。
-
4
-
テンプレートファイルが通常のファイルでない。
-
5
-
テンプレートファイルの読み込み時にエラーが起こった。
-
6
-
メモリの割り当てに失敗した (メモリが足りない)。
-
7
-
入力にマッチしたファイルに、行が含まれていない。
-
8
-
入力指定が正しくない。
注意
getdate
()は
getdate_err
を用いているし、静的なバッファに結果を返すので、
リエントラントではない。
glibc では同じ機能を持つスレッドセーフな関数を提供している。
機能は同じである。結果はポインタ
res
が示すバッファに返され、
エラーが起こった場合には返り値がゼロ以外となり、これは上記に与えた
getdate_err
に対する値と同じものになる。
POSIX.1-2001 仕様における
strptime
()には、
%E
や
%O
といった修正子を用いた変換指定が含まれている。
一方この仕様では
getdate
()の記述がない。glibc の実装では
getdate
()は
strptime
()を用いて実装されている。
よって自動的に全く同じ変換が両者でサポートされている。
glibc 実装では
%Z
変換指定をサポートしていない。
環境変数
-
DATEMSK
-
書式パターンを含むファイル。
-
TZ
,
LC_TIME
-
strptime
()が用いる変数。
準拠
関連項目
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする