PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのdate_sun_info()関数とは?使い方と戻り値を徹底解説

date_sun_info() 関数は、指定した日付と緯度経度の地点における日の出・日の入りの時刻や、各種薄明(トワイライト)の開始・終了時刻といった太陽関連の情報を格納した配列を返します。天文計算に基づいた正確な時刻情報を取得できるため、カレンダーアプリや天気予報系サービスなどで活用される関数です。

構文

date_sun_info(timestamp, latitude, longitude)

パラメータ

  • timestamp − 対象となるタイムスタンプ。必須。

  • latitude − 緯度(度単位)。必須。

  • longitude − 経度(度単位)。必須。

戻り値

date_sun_info() 関数は、日の出・日の入りおよび薄明の開始・終了に関する情報を含む連想配列を返します。

返される配列の構造は以下の通りです −

  • sunrise − 日の出の時刻(天頂角 = 90°35')。

  • sunset − 日の入りの時刻(天頂角 = 90°35')。

  • transit − 太陽が南中する時刻。つまり、太陽が最も高い位置に達する時刻です。

  • civil_twilight_begin − 市民薄明の始まり(天頂角 = 96°)。日の出の時刻で終了します。

  • civil_twilight_end − 市民薄明の終わり(天頂角 = 96°)。日の入りの時刻で開始します。

  • nautical_twilight_begin − 航海薄明の始まり(天頂角 = 102°)。市民薄明の始まりの時刻で終了します。

  • nautical_twilight_end − 航海薄明の終わり(天頂角 = 102°)。市民薄明の終了の時刻で開始します。

  • astronomical_twilight_begin − 天文薄明の始まり(天頂角 = 108°)。航海薄明の始まりの時刻で終了します。

  • astronomical_twilight_end − 天文薄明の終わり(天頂角 = 108°)。航海薄明の終了の時刻で開始します。

薄明(トワイライト)の種類について

薄明には、明るさの度合いに応じて「市民薄明」「航海薄明」「天文薄明」の3段階があります。市民薄明は空が十分明るく通常の活動が可能な時間帯、航海薄明は水平線と主要な星が同時に見える時間帯、天文薄明は空がほぼ完全に暗くなる前後の時間帯を指します。date_sun_info() 関数を使えば、これらすべての時刻を一度に取得できます。

使用例

以下は date_sun_info() 関数を使用したサンプルコードです −

<?php
$info = date_sun_info(strtotime("2018-09-23"), 31.7667, 35.2333);
foreach ($info as $key => $val) {
    echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

出力結果

sunrise: 03:28:06
sunset: 15:34:29
transit: 09:31:18
civil_twilight_begin: 03:03:51
civil_twilight_end: 15:58:44
nautical_twilight_begin: 02:35:30
nautical_twilight_end: 16:27:05
astronomical_twilight_begin: 02:06:54
astronomical_twilight_end: 16:55:41
  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説

    lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し