【PHP8.x】gmstrftime関数の使い方
gmstrftime関数は、現在の日付と時刻を、GMT(グリニッジ標準時)で指定されたフォーマットに従って文字列として整形する関数です。strftime関数と同様の機能を提供しますが、gmstrftime関数は常にGMTに基づいて時刻を処理します。タイムゾーンの設定に関わらず、一貫した結果を得る必要がある場合に有用です。
この関数は、フォーマット文字列とオプションのタイムスタンプを引数として受け取ります。フォーマット文字列は、日付と時刻の各要素(年、月、日、時、分、秒など)をどのように文字列に組み込むかを指定します。strftime関数で使用できるフォーマット指定子と同様のものが使用可能です。タイムスタンプが指定されない場合、現在の時刻が使用されます。
gmstrftime関数は、成功した場合はフォーマットされた日付と時刻の文字列を返し、エラーが発生した場合はFALSEを返します。エラーの原因としては、無効なフォーマット指定子や、タイムスタンプが範囲外であることなどが考えられます。
システムエンジニアが、例えば異なるタイムゾーンにまたがるシステムを構築する際、特定のタイムゾーンに依存しない時刻表現が必要となる場合があります。このような場合に、gmstrftime関数を用いてGMTに基づいた時刻文字列を生成し、システムの各部分で一貫した時刻情報を共有することができます。例えば、ログファイルに記録される時刻をGMTで統一したり、異なる地域にいるユーザーに対してGMTに基づいたスケジュールを表示したりする用途が考えられます。このように、タイムゾーンに依存しない時刻処理が必要な場面で、gmstrftime関数は非常に有効なツールとなります。
基本的な使い方
構文(syntax)
gmstrftime(string $format, int $timestamp = time()): string|false
引数(parameters)
string $format, ?int $timestamp = null
- string $format: ロケール依存のstrftime()フォーマット文字列
- ?int $timestamp = null: タイムスタンプ(Unixタイムスタンプ)を指定する整数、省略した場合は現在の時刻が使用されます
戻り値(return)
string|false
指定されたロケール形式でフォーマットされた日付および時刻文字列、または失敗した場合は false を返します。