1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHPで2つの日時の差を分単位で計算する

Posted at

タイムゾーンを設定する

date関数を使って現在日時との差分を求めたい場合は、最初に差分を求めたい日時のタイムゾーンを設定します。date_default_timezone_set関数を使用します。この第一引数にタイムゾーンを示す文字列を指定します。東京を含む日本の場合は"Asia/Tokyo"です。
完全なタイムゾーンのリストは次のページに記載されています。
https://www.php.net/manual/ja/timezones.php

date_default_timezone_set('Asia/Tokyo');

差分を求めたい日時のタイムスタンプを取得する

strtotime関数などを使用して差分を求めたい日時のタイムスタンプを取得します。

 $time1 = strtotime(date("Y/m/d H:I:S"));
 $time2 = strtotime("2021/07/07 20:05:00");

差分を計算して、分単位に直す

タイムスタンプは整数として扱えるので、そのまま引き算で差分を求めます

$diff = $time1 - $time2;

UNIXタイムスタンプの場合、秒単位で差分時間が求められるので60で割れば分単位の差分時間が計算できます。

$diff_m = $diff / 60;

まとめ

最後にコードの全体像を記載します。


// タイムゾーンを設定
date_default_timezone_set('Asia/Tokyo');

// 差分を求めたい2つの日時のタイムスタンプを取得
$time1 = strtotime(date("Y/m/d H:I:S"));
$time2 = strtotime("2021/07/07 20:05:00");

// 日時の差分を計算
$diff = $time1 - $time2;

// 日時の差分は(UNIXの場合)秒単位なので60で割って分に直す
$diff_m = $diff / 60;

以上です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?