1

PHPで現在の時刻から前のタイムスタンプを差し引いて、分単位で期間を取得する方法は?

タイムスタンプの形式は次のようになります

2009-12-05 10:35:28

何分経過したか計算したい。どうやってするの?

4

7 に答える 7

3

MySQL でこれを行うには、次のTIMESTAMPDIFF関数を使用します。

SELECT TIMESTAMPDIFF(MINUTE, date_lastaccess, NOW()) FROM session;

sessionはテーブルでdate_lastaccess、DATE / DATETIME フィールドです。

于 2009-12-08T06:42:46.457 に答える
1

ライブラリを追加したくない場合は、これを非常に簡単に行うことができます。

<?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; 
?>
于 2009-12-08T05:06:07.347 に答える
0
function timeAgoMin($timestamp){
  if(!is_int($timestamp)){
    $timestamp = strtotime($timestamp);
  }

  return ((time() - $timestamp) / 60);

}
于 2009-12-08T05:09:37.080 に答える
0

PHP のきれいな日付ライブラリを確認してください。あなたのために何かを持っているかもしれません。これが1つです:http://www.zachleat.com/web/2008/02/10/php-pretty-date/

于 2009-12-08T04:54:51.543 に答える
0
strtotime("now") - strtotime("2009-12-05 10:35:28")

それはあなたに数秒の違いをもたらします。経過分を 60 で割ります。ただし、最初のタイムスタンプのタイムゾーンに関する情報がある場合は、「現在」をより比較可能な時間に調整する必要があります

于 2009-12-08T04:58:42.177 に答える
0

そんな感じ

$second = strtotime('now') - strtotime($your_date);
$minute = $second / 60;

strtotime1970 年 1 月 1 日 00:00:00 UTC からの秒数を返すので、これを簡単に操作できます。35.5 分が必要ない場合はfloor、数値を切り上げるために使用できます。最後の発言は、両方の時間が同じタイムゾーンにある必要があるか、タイムゾーンの違いもカウントすることです。

于 2009-12-08T05:01:10.833 に答える
0

あなたはただ使うことができます

$timestamp = time();

$diff = time() - $timestamp

$minutes = date( i, $diff );

于 2009-12-08T05:03:17.997 に答える