PHPのdate_sunset関数は、特定の日付と場所の日没時間を取得するために使用されます。特定の緯度、経度、日付に基づいて日没時間を計算します。通常、この関数はUNIXタイムスタンプを返します。これは、1970年1月1日から指定された時間に秒数です。
date_sunset関数の基本的な構文は次のとおりです。
<span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(time, format, latitude, longitude, zenith, gmt_offset);
</span></span>
時間:オプション、タイムスタンプ、デフォルトの現在の時刻。
形式:結果形式。 sunfuncs_ret_timestamp (unixタイムスタンプ、デフォルト)、 sunfuncs_ret_string (「午後6時」などの文字列形式の時間を返す)、 sunfuncs_ret_double (サンセット角度に戻る)にすることができます。
緯度と経度:それぞれ、日没の位置の緯度と経度を提供する必要があります。
ゼニス:オプションでは、太陽の天頂角は通常90.5度で、日没時の太陽の角度を示しています。
gmt_offset :オプション、タイムゾーンオフセット、デフォルトは0です。
sunfuncs_ret_timestamp(デフォルト)
フォーマットパラメーターがsunfuncs_ret_timestampに設定されている(または合格していない)場合、関数はUnixタイムスタンプ、つまり1970年1月1日の真夜中から日没まで秒数を返します。
例:
<span><span><span class="hljs-variable">$sunset</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_TIMESTAMP, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$sunset</span></span><span>;
</span></span>
返品結果は、UNIXタイムスタンプを表す数字になります。
sunfuncs_ret_string
フォーマットパラメーターがsunfuncs_ret_stringに設定されている場合、フォーマットされた時間文字列が返されます。通常は12時間の時間表現(例: '6:00 pm')です。
例:
<span><span><span class="hljs-variable">$sunset</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_STRING, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$sunset</span></span><span>;
</span></span>
出力は午後6時30分に似ている可能性があり、ニューヨーク市の日没時間を示しています。
sunfuncs_ret_double
フォーマットパラメーターがsunfuncs_ret_doubleに設定されている場合、太陽の高さを示すために浮かぶ小数値が返されます。戻り値は一般に負で、太陽が地平線を下回っていることを示し、値の絶対値が大きいほど太陽が低くなります。
例:
<span><span><span class="hljs-variable">$sunset</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_DOUBLE, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$sunset</span></span><span>;
</span></span>
戻り値は、 -0.934などの浮遊小数である可能性があり、地平線の下の太陽の角度を示しています。
date_sunsetによって返される結果は異なる形式のデータである可能性があるため、正しい解析方法は、使用しているフォーマットパラメーターに依存します。
sunfuncs_ret_timestampを使用している場合、つまり、返された結果はUNIXタイムスタンプです。日付関数を介して読み取り可能な日付と時刻形式に変換できます。
例:
<span><span><span class="hljs-variable">$sunset_timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_TIMESTAMP, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>, </span><span><span class="hljs-variable">$sunset_timestamp</span></span><span>);
</span></span>
これにより、 2025-06-16 19:45:00などの標準的なDateTime形式が出力されます。
sunfuncs_ret_stringを使用している場合、直接出力またはさらに処理できるフォーマットされた時間文字列を返します。
例:
<span><span><span class="hljs-variable">$sunset_string</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_STRING, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"The sunset time is: "</span></span><span> . </span><span><span class="hljs-variable">$sunset_string</span></span><span>;
</span></span>
これにより、日没時間と同様の結果が出力されます:午後6時30分。
sunfuncs_ret_doubleを使用している場合は、返された浮動値によって太陽の高さの角度を判断できます。この値は通常、負の数です。つまり、太陽が沈んだことを意味します。
例:
<span><span><span class="hljs-variable">$sunset_angle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_sunset</span></span><span>(</span><span><span class="hljs-title function_ invoke__">time</span></span><span>(), SUNFUNCS_RET_DOUBLE, </span><span><span class="hljs-number">40.7128</span></span><span>, -</span><span><span class="hljs-number">74.0060</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Sunset angle: "</span></span><span> . </span><span><span class="hljs-variable">$sunset_angle</span></span><span>;
</span></span>
戻り値は、 -0.934などの小数になり、太陽の角度を示します。
Date_Sunset機能は、特に特定の場所の緯度と経度に基づいて日没時間を取得する必要がある場合に非常に便利です。返すデータ形式は、 Formatパラメーターの値に依存します。これは、UNIXタイムスタンプ、フォーマットされた時間文字列、または太陽の高度角です。返品値を正しく解析するには、選択した形式に従って適切な関数を使用して変換または表示する必要があります。
これらの基本的な使用法を習得することにより、Sunset Reminder、Weather Forecast、またはAstronomical計算など、PHPでサンセットタイムデータをより便利に処理できます。