2009-12-08 3 views
1

PHP에서 현재 시간에서 이전 타임 스탬프를 빼서 기간을 분으로 표시하는 방법은 무엇입니까? 내가 통과 시간 (분)을 계산하려는PHP에서 현재 시간에서 이전 타임 스탬프를 뺀 시간을 분 단위로 가져 오는 방법은 무엇입니까?

10시 35분 28초 2009-12-05

처럼

타임 스탬프의 형식입니다. 어떻게 수행하나요?

+0

PHP 대신 MySQL에서 수행하는 방법은 무엇입니까? – Steven

답변

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; 
?> 
+0

PHP 대신 MySQL에서 수행하는 방법은 무엇입니까? – Steven

0
strtotime("now") - strtotime("2009-12-05 10:35:28") 

이렇게하면 초 차이가납니다. 경과 된 분 동안 60으로 나눕니다. 초기 타임 스탬프의 시간대에 대한 정보가 있다면, 그러나, 당신은

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

strtotime 반환 수의 같은

+0

strtotime ("now") 대신 time()을 사용할 수 있습니다. – echo

0

뭔가 더 비슷한 시간에 "지금"조정해야 할 것 1970 년 1 월 1 일 00시 00 분 00 초부터 초를 입력하면 쉽게 조작 할 수 있습니다. 35.5 분이 필요하지 않으려면 floor을 사용하여 숫자를 반올림하십시오. 마지막 시간은 두 시간 모두 같은 시간대에 있어야하거나 시간대 차이를 계산할 수도 있습니다. 당신은 싶어 라이브러리를 추가하지 않으면

0

당신은 단지

$timestamp = time();

$diff = time() - $timestamp

$minutes = date(i, $diff);

+0

확실히 작동하지 않습니다. 그것에 대해 생각해 보면, 그것은 01:11:20과 같은 것을 반환 할 것이고 여러분은 11 부분만을 얻게 될 것입니다. – mauris

+0

내가 원하는 것이 아닙니다. – Steven

0
function timeAgoMin($timestamp){ 
    if(!is_int($timestamp)){ 
    $timestamp = strtotime($timestamp); 
    } 

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

} 
테이블과 date_lastaccess가 DATE/DATETIME 필드입니다

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

:

+0

MySQL에서하는 방법? 이전 타임 스탬프를 저장하는 열/필드가 있습니다. – Steven

+0

타임 스탬프를 추출하고이 함수를 통해 파싱 하시겠습니까? – mauris