gmstrftime
(PHP 4, PHP 5, PHP 7, PHP 8)
gmstrftime — ロケールの設定に基づいて GMT/UTC 時刻/日付をフォーマットする
この関数は PHP 8.1.0 で 非推奨 になります。この関数に頼らないことを強く推奨します。
この関数の代替として、これらが使えます:
説明
グリニッジ標準時を返すこと以外は、 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, 'en_US');
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)) . "\n";
?>
参考
- IntlDateFormatter::format() - 日付/時刻 の値を文字列としてフォーマットする
- DateTimeInterface::format() - 指定した書式でフォーマットした日付を返す
- strftime() - ロケールの設定に基づいてローカルな日付・時間をフォーマットする