PHPでは、 strtotime()とdate_sunset()は、開発者が日付、時間、サンセット時間を計算するのに役立つ2つの非常に有用な機能です。この記事では、これら2つの関数を使用して、現在の時間と今日の日没の間の残りの時間を計算する方法を示します。
strtotime()関数は、英語のテキストの日付の説明をUnixタイムスタンプに解析するために使用される関数です。日付文字列を受け入れ、対応するUNIXタイムスタンプを返します。
date_sunset()関数は、指定された緯度と経度の日没時間を取得するために使用されます。それが戻る時間は、通常、Unixタイムスタンプの形で与えられ、その日の夕日の瞬間を示しています。
strtotime()とdate_sunset()を組み合わせて、現在の時間と今日の日没時間の間に残りの秒を計算できます。これが完全なコードの例です。
<?php
// タイムゾーンを設定します
date_default_timezone_set('Asia/Shanghai');
// 現在のタイムスタンプを入手してください
$current_time = time();
// 今日の夕日のタイムスタンプを入手してください
$latitude = 31.2304; // 北京の緯度
$longitude = 121.4737; // 北京の経度
$sunset_time = date_sunset($current_time, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude);
// 残りの時間を計算します(2番)
$time_difference = $sunset_time - $current_time;
// 出力残り時間
if ($time_difference > 0) {
echo "今日はまだ夕日があります " . gmdate("H:i:s", $time_difference) . " 2番。";
} else {
echo "今日の夕日は過ぎました。";
}
?>
タイムゾーンの設定<br> date_default_timezone_set( 'asia/shanghai')を使用して、正しいタイムゾーンに従って時間が計算されるようにします。
現在のタイムスタンプを入手してください<br> Time()関数を使用して、現在のUNIXタイムスタンプを取得します。
サンセットタイムスタンプを入手してください
date_sunset()関数は、指定された場所の日没時間を返します。緯度と経度を指定することで(ここで北京の緯度と経度を使用して)、今日の日没の時間を得ることができます。 sunfuncs_ret_timestampパラメーターは、PHPにタイムスタンプを返すことを伝えます。
時差を計算します<br> 現在のタイムスタンプでサンセットタイムスタンプを減算して、今から夕日まで何秒であるかを確認します。
出力の残り時間<br> gmdate( "h:i:s"、$ time_difference)を使用して、残りの時間をフォーマットし、出力は時間、数分、秒です。
date_sunset()関数はUTCタイムスタンプを返すため、計算中の逸脱を避けるためにタイムゾーンが正しく設定されていることを確認する必要があります。
コードの緯度と経度は、あなたがいる場所に応じて変更する必要があります。そうすれば、正しい日没時間を取得できるようにする必要があります。
strtotime()とdate_sunset()を組み合わせることにより、今日の日没から残りの時間を簡単に計算できます。この方法は、天気アプリケーション、スケジュール管理ツールなど、サンセットタイムに従ってタスクを実行する必要があるアプリケーションに非常に適しています。