PHPで時間の差を計算をしたい場合、どうすればよいでしょうか?それを考えていきます。11月25日記事

目次





PHPで時間を表示するdate関数と時間を測るstrtotime関数

時間を表示させる場合はdate関数を使い、引数に年であるYや月であるmなどの情報を付け加えていけばよいのですが、時間そのものの差や何秒立ったかを計算させるためにはstrtotime関数というものを使います。 これは1970年1月1日から起算して何秒たったかを表示させるものです。

コード

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>時間を計算する</title>
</head>
<body>
<?php
date_default_timezone_set('Asia/Tokyo');
$now = strtotime(date("Y-m-d H:i:s"));
echo $now;
echo "<br>";
//データを引っ張ってきて2015-11-25 00:00:00日時にログインしたという情報を格納すると仮定する。
$time = "2015-11-25 00:00:00";
$login_time = strtotime(date($time));
echo "<br>";
$diff = $now - $login_time;
echo $diff;
echo "<br>";
echo "<br>";

//○分経ったらなんかのエラーを出す。
$limit = 5;
if($diff >= 60 * $limit){//秒単位で計算されるので、60倍にして分単位にする。
	echo "ログインしてから".$limit."分経過しました。";
}else{
	echo "まだ".$limit."分以内です。";
}

?>
</body>
</html>



まとめ

date関数にさらにstrtotime関数を付け加えることでUNIXタイムを取得できます。あとはちょこちょこと計算していけばいけます。

以上

最終更新:2015年11月25日 12:25