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

作成日: 更新日:

『date_sunset関数は、指定された日付と地理的な位置における日の入りの時刻を計算する関数です。この関数は、計算の基準となる日付のタイムスタンプ、結果の書式、そして場所を特定するための緯度と経度を主な引数として受け取ります。タイムスタンプを省略した場合は、現在の日付が自動的に使用されます。書式を指定する引数では、date関数と同様の書式文字や、SUNFUNCS_RET_STRINGSUNFUNCS_RET_DOUBLESUNFUNCS_RET_TIMESTAMPといった定数を使用できます。この指定に応じて、返り値は整形された時刻の文字列、時刻を表す浮動小数点数、あるいはUNIXタイムスタンプのいずれかの型になります。地理的位置は、緯度と経度を浮動小数点数で指定し、北緯と東経を正の値、南緯と西経を負の値で表します。この他にも、太陽の天頂角やUTCからの時差も任意で指定可能です。計算が成功した場合、指定された書式の日の入り時刻が返されますが、極地での白夜のように日の入りが存在しない日や、その他の理由で計算に失敗した場合にはfalseを返します。

基本的な使い方

構文(syntax)

date_sunset(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: 返り値のフォーマットを指定します。デフォルトは文字列形式 (SUNFUNCS_RET_STRING) です。
  • ?float $latitude = null: 緯度を指定します。指定しない場合、デフォルト値が使用されます。
  • ?float $longitude = null: 経度を指定します。指定しない場合、デフォルト値が使用されます。
  • ?float $zenith = null: 天頂角を指定します。指定しない場合、デフォルト値が使用されます。
  • ?float $utc_offset = null: UTCからのオフセットを指定します。指定しない場合、デフォルト値が使用されます。

戻り値(return)

string|int|float|false

指定された場所における日没時刻を、Unixタイムスタンプ(整数)、または指定されたフォーマットの文字列、あるいは浮動小数点数で返します。計算が失敗した場合は false を返します。

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