Php/docs/function.date-sunrise

提供:Dev Guides
< Php
移動先:案内検索

date_sunrise

(PHP 5, PHP 7)

date_sunrise 指定した日付と場所についての日の出時刻を返す


説明

date_sunrise ( int $timestamp [, int $returnFormat = SUNFUNCS_RET_STRING [, float $latitude = ini_get("date.default_latitude") [, float $longitude = ini_get("date.default_longitude") [, float $zenith = ini_get("date.sunrise_zenith") [, float $utcOffset = 0 ]]]]] ) : mixed

date_sunrise() は、与えられた日付 (timestamp で指定する) と場所についての日の出の時刻を返します。


パラメータ

timestamp

日の出時刻を取得する日の timestamp

returnFormat
{| |+ returnFormat 定数 ! 定数 ! 説明 ! 例 |- | SUNFUNCS_RET_STRING | 結果を string で返します。 | 16:46 |- | SUNFUNCS_RET_DOUBLE | 結果を float で返します。 | 16.78243132 |- | SUNFUNCS_RET_TIMESTAMP | 結果を int (タイムスタンプ) で返します。 | 1095034606 |}
latitude

デフォルトは北緯で、南緯は負の値で表します。 date.default_latitude も参照ください。

longitude

デフォルトは東経で、西経は負の値で表します。 date.default_longitude も参照ください。

zenith

zenith は 太陽の中心と、地球の表面からの垂線の間になす角度です。 デフォルトは date.sunrise_zenith です。

一般的な zenith の角度
角度 説明
90°50' 日の出: 太陽が見えるようになる点
96° 薄明かり: 夜明けの始まりを示すのに慣習的に使われます
102° 航海上の薄明かり: 海の上で、水平線が見えはじめる点
108° 天文学上の薄明かり: 太陽があらゆる明かりの光源になりはじめる点
utcOffset

時間単位で指定します。 returnFormatSUNFUNCS_RET_TIMESTAMP の場合は、 utcOffset は無視されます。


返り値

日の出時刻を、指定した returnFormat で返します。 失敗した場合に false を返します 失敗する潜在的な可能性があります。太陽が全く昇らない場合です。 これは一年のある時期、極圏の中にある場合に起こります。


エラー / 例外

すべての日付/時刻関数は、 有効なタイムゾーンが設定されていない場合に E_NOTICE を発生させます。また、システム設定のタイムゾーンあるいは環境変数 TZ を使用した場合には E_STRICT あるいは E_WARNING を発生させます。 date_default_timezone_set() も参照ください。


例1 date_sunrise() の例

<?php/* ポルトガル リスボンの日の出時刻を計算する緯度: 北緯 38.4経度: 西経 9天頂 ~= 90時差: +1 GMT*/echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);?>

上の例の出力は、 たとえば以下のようになります。


Mon Dec 20 2004, sunrise time : 08:54

例2 No sunrise

<?php$solstice = strtotime('2017-12-21');var_dump(date_sunrise($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));?>

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


bool(false)

参考

  • date_sunset() - 指定した日付と場所についての日の入り時刻を返す
  • date_sun_info() - 日の出/日の入り時刻と薄明かり (twilight) の開始/終了時刻の情報を含む配列を返す