【PHP8.x】date_sunrise関数の使い方

作成日: 更新日:

『date_sunrise関数は、指定された日付と場所における日の出時刻を計算する処理を実行する関数です。この関数は、第一引数に日付を特定するためのUnixタイムスタンプを必須とします。第二引数では、戻り値の形式を定数で指定でき、デフォルトのSUNFUNCS_RET_STRINGでは「06:30」のような文字列、SUNFUNCS_RET_TIMESTAMPではUnixタイムスタンプ、SUNFUNCS_RET_DOUBLEでは時刻を浮動小数点数で返します。日の出時刻の計算には地理情報が不可欠なため、第三引数に緯度、第四引数に経度を数値で指定します。北緯と東経は正の値、南緯と西経は負の値で表現します。緯度と経度を省略した場合は、システム設定ファイル(php.ini)で定義されたデフォルト値が使用されます。その他、オプションとして天頂角やGMTとの時差を指定することも可能です。何らかの理由で計算に失敗した場合には、falseが返されます。

基本的な使い方

構文(syntax)

date_sunrise(
    int $timestamp,
    int $format = SUNFUNCS_RET_STRING,
    ?float $latitude = null,
    ?float $longitude = null,
    ?float $zenith = null,
    ?float $gmtOffset = null
): string|int|float|false

引数(parameters)

int $timestamp, int $format = SUNFUNCS_RET_STRING, ?float $latitude = null, ?float $longitude = null, ?float $zenith = null, ?float $utc_offset = null

  • int $timestamp: 太陽が昇る日時を表すUnixタイムスタンプ
  • int $format = SUNFUNCS_RET_STRING: 戻り値のフォーマットを指定する整数。デフォルトは文字列
  • ?float $latitude = null: 観測地点の緯度(度単位)。指定しない場合は、デフォルト値が使用される
  • ?float $longitude = null: 観測地点の経度(度単位)。指定しない場合は、デフォルト値が使用される
  • ?float $zenith = null: 天頂角(度単位)。デフォルトは90.833度
  • ?float $utc_offset = null: UTCからのオフセット(秒単位)。指定しない場合は、サーバーのタイムゾーンが使用される

戻り値(return)

string|int|float|false

指定されたタイムスタンプにおける太陽の出時刻を、指定されたタイムゾーンに基づいて文字列、整数、浮動小数点数、または失敗した場合は false で返します。

【PHP8.x】date_sunrise関数の使い方 | いっしー@Webエンジニア