ロケールの設定に基づいて GMT/UTC 時刻/日付をフォーマットする

# gmstrftime

(PHP 4, PHP 5, PHP 7, PHP 8)

gmstrftime — ロケールの設定に基づいて GMT/UTC 時刻/日付をフォーマットする

警告

この関数は PHP 8.1.0 で 非推奨 になります。この関数に頼らないことを強く推奨します。

この関数の代替として、これらが使えます:

- gmdate()
- IntlDateFormatter::format()

### 説明

#[\Deprecated]
function gmstrftime(string `$format`, ?int `$timestamp` = null): string|false

グリニッジ標準時を返すこと以外は、 strftime() と同じ動作をします。例えば、東部標準時 (GMT -0500) で実行した場合、以下の最初の行は "Dec 31 1998 20:00:00" を出力し、二行目は "Jan 01 1999 01:00:00" を出力します。

警告

この関数は、オペレーティングシステムのロケールの情報に依存しており、 情報が一貫していなかったり、全く利用できない可能性があります。 代わりに、IntlDateFormatter::format() を使いましょう。

### パラメータ

`format`

  strftime() の説明を参照ください。

`timestamp`
  オプションのパラメータ `timestamp` は、 int 型の Unix タイムスタンプです。 `timestamp` が指定されなかったり、`null` だった場合のデフォルト値は、 現在の時刻です。言い換えると、デフォルトは time() の返り値となります。

### 戻り値

指定した `timestamp` または timestamp が指定されていない場合に現在のローカル時間を用いて、 指定したフォーマット文字列に基づき文字列をフォーマットして返します。 月および曜日の名前、およびその他の言語依存の文字列は、 setlocale() で設定された現在のロケールを尊重して表示されます。 失敗時には、`false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.0.0 | `timestamp` は、nullable になりました。

### 例

例1 gmstrftime() の例

    <?php

    setlocale(LC_TIME, 'es_ES.UTF-8');
    date_default_timezone_set('EST');

    echo strftime("%B %d %Y %H:%M:%S",   mktime(20, 0, 0, 12, 31, 98)) . "\n";
    echo gmstrftime("%B %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98));

上の例の出力は以下となります。

    Deprecated: Function strftime() is deprecated since 8.1, use IntlDateFormatter::format() instead in script on line 6
    diciembre 31 1998 20:00:00

    Deprecated: Function gmstrftime() is deprecated since 8.1, use IntlDateFormatter::format() instead in script on line 7
    enero 01 1999 01:00:00

### 参考

- IntlDateFormatter::format() - 日付/時刻 の値を文字列としてフォーマットする
- DateTimeInterface::format() - 指定した書式でフォーマットした日付を返す
- strftime() - ロケールの設定に基づいてローカルな日付・時間をフォーマットする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open