PHPで現在の時刻から前のタイムスタンプを差し引いて、分単位で期間を取得する方法は?
タイムスタンプの形式は次のようになります
2009-12-05 10:35:28
何分経過したか計算したい。どうやってするの?
PHPで現在の時刻から前のタイムスタンプを差し引いて、分単位で期間を取得する方法は?
タイムスタンプの形式は次のようになります
2009-12-05 10:35:28
何分経過したか計算したい。どうやってするの?
MySQL でこれを行うには、次のTIMESTAMPDIFF
関数を使用します。
SELECT TIMESTAMPDIFF(MINUTE, date_lastaccess, NOW()) FROM session;
session
はテーブルでdate_lastaccess
、DATE / DATETIME フィールドです。
ライブラリを追加したくない場合は、これを非常に簡単に行うことができます。
<?php
$date1 = "2009-12-05 10:35:28";
$date2 = "2009-12-07 11:58:12";
$diff = strtotime($date2) - strtotime($date1);
$minutes_passed = $diff/60;
echo $minutes_passed." minutes have passed between ".$date1." and ".$date2;
?>
function timeAgoMin($timestamp){
if(!is_int($timestamp)){
$timestamp = strtotime($timestamp);
}
return ((time() - $timestamp) / 60);
}
PHP のきれいな日付ライブラリを確認してください。あなたのために何かを持っているかもしれません。これが1つです:http://www.zachleat.com/web/2008/02/10/php-pretty-date/
strtotime("now") - strtotime("2009-12-05 10:35:28")
それはあなたに数秒の違いをもたらします。経過分を 60 で割ります。ただし、最初のタイムスタンプのタイムゾーンに関する情報がある場合は、「現在」をより比較可能な時間に調整する必要があります
あなたはただ使うことができます
$timestamp = time();
$diff = time() - $timestamp
$minutes = date( i, $diff );