関数・クラス解説

date_sun_info

version:PHP 5 >= 5.1.2, PHP 7 (公式)

日の出/日の入り時刻と薄明かり (twilight) の開始/終了時刻の情報を含む配列を返す

公式リファレンス

書式

date_sun_info ( int $timestamp , float $latitude , float $longitude ) : array|false

パラメータ

timestamp
Unixタイムスタンプ。
latitude
緯度を表す度数。
longitude
経度を表す度数。

返値

成功した場合に配列、失敗した場合に FALSE を返します。 配列の構造の詳細は、以下のリストのとおりです

sunrise
日の出のタイムスタンプ (天頂角 = 90°50' )
sunset
日の入りのタイムスタンプ (天頂角 = 90°35' )
transit
太陽が天頂に達するタイムスタンプ。 つまり、もっとも上部に達した時刻です。
civil_twilight_begin
夜明けの始まり(天頂角 = 96°) sunrise の時刻に終了します。
civil_twilight_end
夕暮れの終わり(天頂角 = 96°) sunset の時刻に始まります。
nautical_twilight_begin
航海上の夜明け (天頂角 = 102°) civil_twilight_begin に終了します。
nautical_twilight_end
航海上の夕暮れ (天頂角 = 102°) civil_twilight_end の時刻に始まります。
astronomical_twilight_begin
天文学上の夜明け (天頂角 = 108°) nautical_twilight_begin に終了します。
astronomical_twilight_end
天文学上の夕暮れ (天頂角 = 108°) nautical_twilight_end の時刻に始まります。
配列の要素の値は、UNIXタイムスタンプ、または 太陽が天頂より一日中下にある場合、FALSE です。 また、一日中天頂より上にある場合、 TRUE です。

サンプル

例1 date_sun_info() の例

$sun_info = date_sun_info(strtotime("2006-12-12"), 31.7667, 35.2333); foreach ($sun_info as $key => $val) {     echo "$key: " . date("H:i:s", $val) . "\n"; }

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

sunrise: 05:52:11 sunset: 15:41:21 transit: 10:46:46 civil_twilight_begin: 05:24:08 civil_twilight_end: 16:09:24 nautical_twilight_begin: 04:52:25 nautical_twilight_end: 16:41:06 astronomical_twilight_begin: 04:21:32 astronomical_twilight_end: 17:12:00

例2 Polar night

var_dump(date_sun_info(strtotime("2017-12-21"), 90, 0));

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

array(9) { ["sunrise"]=> bool(false) ["sunset"]=> bool(false) ["transit"]=> int(1513857490) ["civil_twilight_begin"]=> bool(false) ["civil_twilight_end"]=> bool(false) ["nautical_twilight_begin"]=> bool(false) ["nautical_twilight_end"]=> bool(false) ["astronomical_twilight_begin"]=> bool(false) ["astronomical_twilight_end"]=> bool(false) }

例3 Midnight sun

var_dump(date_sun_info(strtotime("2017-06-21"), 90, 0));

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

array(9) { ["sunrise"]=> bool(true) ["sunset"]=> bool(true) ["transit"]=> int(1498046510) ["civil_twilight_begin"]=> bool(true) ["civil_twilight_end"]=> bool(true) ["nautical_twilight_begin"]=> bool(true) ["nautical_twilight_end"]=> bool(true) ["astronomical_twilight_begin"]=> bool(true) ["astronomical_twilight_end"]=> bool(true) }

参考

  • date_sunrise() - 指定した日付と場所についての日の出時刻を返す
  • date_sunset() - 指定した日付と場所についての日の入り時刻を返す
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール