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

PHPのdate_sunrise()関数とは?構文・パラメータ・使い方を徹底解説

date_sunrise() 関数は、指定した日付および地点における日の出の時刻を返します。処理が成功した場合は指定した形式で日の出時刻を返し、失敗した場合は FALSE を返します。

なお、この関数は PHP 8.1 以降で非推奨(deprecated)となっている点に注意してください。新しく書くコードでは、より柔軟に日の出入り情報を取得できる date_sun_info() 関数の利用が推奨されています。

構文

date_sunrise(timestamp, format, latitude, longitude, zenith, gmtoffset);

パラメータ

  • timestamp − 日の出時刻を取得したい日付のタイムスタンプ。

  • format − 結果の返却形式を指定します。

    • SUNFUNCS_RET_STRING:結果を文字列として返します。

    • SUNFUNCS_RET_DOUBLE:結果を浮動小数点数(float)として返します。

    • SUNFUNCS_RET_TIMESTAMP:結果を整数(タイムスタンプ)として返します。

  • latitude − 対象地点の緯度を指定します。デフォルトは北緯であり、南緯を指定する場合は負の値を渡します。

  • longitude − 対象地点の経度を指定します。デフォルトは東経であり、西経を指定する場合は負の値を渡します。

  • zenith − 天頂角の設定です。デフォルト値は php.ini の date.sunrise_zenith となります。

  • gmtoffset − GMT(グリニッジ標準時)とローカル時間との差を時間単位で指定します。

戻り値

成功した場合は、指定された形式でその日の日の出時刻を返します。失敗した場合は FALSE を返します。

使用例

まずは基本的な使用例から見ていきましょう。

<?php
    echo("Date: " . date("D M d Y") . "<br />");
    echo("Sunrise time: ");
    echo(date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1));
?>

出力結果

上記のコードを実行すると、次のような出力が得られます。

Date: Wed Oct 10 2018
Sunrise time: 07:43

使用例(特定の日付を指定する場合)

続いて、strtotime() を使って任意の日付のタイムスタンプを生成し、日の出時刻を取得する例を紹介します。

<?php
    $res = strtotime('2018-10-25');
    var_dump(date_sunrise($res, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>

出力結果

上記のコードを実行すると、次のような出力が得られます。

string(5) "11:28"

このように date_sunrise() 関数を使えば、緯度・経度を指定するだけで世界中の任意の地点における日の出時刻を簡単に求めることができます。ただし前述のとおり PHP 8.1 以降では非推奨のため、実運用では date_sun_info() への移行を検討しましょう。

  1. PHPのfilemtime()関数とは?使い方とサンプルコードを解説

    概要PHPのfilemtime()関数は、指定したファイルの最終更新時刻(最終修正日時)を取得するための関数です。戻り値はUNIXタイムスタンプ形式で返され、処理に失敗した場合はfalseを返します。構文filemtime ( file_path );パラメータfile_path − 最終更新時刻を取得したいファイルへのパスを指定します。戻り値ファイルの最終更新時刻をUNIXタイムスタンプとして返します。ファイルが存在しない場合やアクセス権限がないなどの理由で処理が失敗した場合は、falseを返します。使用例次の例では、「info.txt」の最終更新時刻をUNIXタイムスタンプとして出力してい

  2. PHPのdisk_free_space()関数とは?ディレクトリの空き容量を取得する方法

    PHPのdisk_free_space()関数は、指定したディレクトリ(またはファイルシステムパーティション)で利用可能な空き容量をバイト単位で返す組み込み関数です。ディスク容量の監視や管理ツールの開発などに活用できます。構文disk_free_space(dir_name);パラメータdir_name − 空き容量を調べたいディレクトリ名を指定します。Windows環境の場合は「C:\」のようにドライブ文字を含むパスも指定可能です。戻り値disk_free_space()関数は、指定されたファイルシステム上で利用可能な空き容量をバイト数(float型)として返します。処理に失敗した場合はfa