PHP で 2 つの時点間の時間差を計算する方法

PHPz
リリース: 2023-04-23 19:37:38
オリジナル
1792 人が閲覧しました

PHP における時間処理は、常に開発者が頻繁に触れる部分です。 2 つの異なる時点の差を計算する必要がある場合、PHP が提供する組み込み関数を使用してこの問題を簡単に解決できます。

この記事では、PHP で 2 つの時点間の時間数を計算する方法について説明します。

PHP では、比較に 2 つの時刻オブジェクトを使用できます。これら 2 つのオブジェクトは、タイムスタンプまたは DateTime オブジェクトです。

まず、これら 2 つの時刻のタイムスタンプを取得する必要があります。 PHP が提供する time() 関数と strtotime() 関数を使用して、現在時刻と指定された時刻のタイムスタンプを取得できます。

たとえば、現在のタイムスタンプを取得します:

$current_time = time();
ログイン後にコピー

指定した時刻のタイムスタンプを取得します:

$specified_time = strtotime("2019-10-10 10:00:00");
ログイン後にコピー

これで 2 つのタイムスタンプが得られたので、算術演算子を使用して計算できます。それらの違い。 1 時間は 3600 秒であるため、タイムスタンプの差を 3600 で割って時間数を取得します。

例:

$time_diff = ($current_time - $specified_time) / 3600;
ログイン後にコピー

上記のコードは、現在時刻と指定された時刻の間の時間差を計算します。

DateTime オブジェクトを使用して操作する場合は、DateTime クラスが提供する diff() メソッドを使用して時差を計算できます。このメソッドは、2 つの時点の間の年、月、日、時、分、秒などの情報を含む DateInterval オブジェクトを返します。

たとえば、2 つの DateTime オブジェクトを作成します:

$current_time = new DateTime();
$specified_time = new DateTime("2019-10-10 10:00:00");
ログイン後にコピー

次に、DateTime オブジェクトの diff() メソッドを使用して時差を計算します:

$time_diff = $current_time->diff($specified_time);
ログイン後にコピー

次に、次のことができます。 DateInterval オブジェクトから開始します。 以下から時間を抽出します。

$hours_diff = $time_diff->h + $time_diff->days * 24;
ログイン後にコピー

days 属性には日数が含まれているため、それを時間に変換し、hours 属性に追加する必要があります。

このように、上記のコードを通じて 2 つの時点間の時間差を計算できます。

実際のプロジェクト開発では、時間処理に DateTime オブジェクトを使用する方が便利で柔軟です。提供されるさまざまなメソッドを使用して、時間の表現と計算を正確に制御でき、タイム ゾーン、夏時間、閏年などの問題も簡単に処理できます。

一般に、PHP は、時間どおりにさまざまな操作を実行するのに役立つ豊富な時間処理関数とクラスを提供します。実際の開発では、コードの効率と読みやすさを向上させるために、適切なメソッドとクラスを選択して対応する作業を完了する必要があります。

以上がPHP で 2 つの時点間の時間差を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート