px_timestamp2string
(PECL)
px_timestamp2string --
タイムスタンプを文字列に変換する
説明
string
px_timestamp2string ( resource pxdoc, float value, string format )
paradox ファイルに保存されているタイムスタンプを、
人間が理解しやすい形式に変換します。
paradox のタイムスタンプは、0000 年 1 月 1 日からの経過ミリ秒数で保存されています。
この関数は利便性を高めるためだけのもので、
以下の例のように数学関数やカレンダー関数で同等のことを実現できます。
パラメータ
- pxdoc
paradox データベースのリソース ID。
- value
paradox データベースフィールドに保存された、
PX_FIELD_TIME 型あるいは PX_FIELD_TIMESTAMP 型の値。
- format
date() で使用するのと同じ形式の文字列フォーマット。
この関数がサポートするプレースホルダは、date()
でサポートしているもの (Y, y, m, n, d, j, H, h, G, g,
i, s, A, a, L) のサブセットです。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例 1. paradox のタイムスタンプを人間が理解しやすい形式に変換する
<?php $px = px_new();
/* paradox db 形式の日付データを再現します。*/ /* 0000 年 1 月 1 日から 700000 日後です。*/ $days = 700000;
/* カレンダー関数を使用して、人間が理解しやすい形式で */ /* 日付を表示します。 */ echo jdtogregorian($days+1721425)."\n";
/* paradox データベースのタイムスタンプに変換します。 */ /* タイムスタンプは 0000 年 1 月 1 日からの経過ミリ秒数です。*/ $stamp = $days * 86400.0 * 1000.0; /* 一時間足します */ $stamp += 3600000.0; /* これは '7/15/1917 01:00:00' を出力します。*/ echo px_timestamp2string($px, $stamp, "n/d/Y H:i:s")."\n";
px_delete($px); ?>
|
上の例の出力は以下となります。 7/15/1917
7/15/1917 01:00:00 |
|
jdtogregorian() に渡すユリウス日は、
紀元前 4714 年 1 月 1 日を基準としており、paradox
ファイルで使用している値に変換するには
1721425 日ぶん加算しなければなりません。
日数をタイムスタンプに変換するのは簡単で、
日数に 86400000.0 を掛ければミリ秒数になります。