タイムスタンプを文字列に変換する

# 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 を掛ければミリ秒数になります。

### 参考

- px_date2string() - 日付を文字列に変換する
- jdtogregorian() - ユリウス積算日をグレゴリウス日に変換する