px_timestamp2string
(PECL paradox >= 1.4.0)
px_timestamp2string — タイムスタンプを文字列に変換する
説明
px_timestamp2string
( resource $pxdoc
, float $value
, string $format
) : string
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 を掛ければミリ秒数になります。