[php] PHP에서 분 단위의 시차를 얻는 방법

PHP에서 두 날짜 시간의 미세한 차이를 계산하는 방법은 무엇입니까?



답변

미래의 가장 많은 것을 미래의 가장 많이 빼고 60으로 나눕니다.

시간은 유닉스 형식으로 이루어 지므로 초 단위의 시간을 나타내는 큰 숫자 일뿐입니다. January 1, 1970, 00:00:00 GMT


답변

위의 답변은 이전 버전의 PHP에 대한 것입니다. PHP 5.3이 표준이므로 DateTime 클래스를 사용하여 날짜 계산을 수행하십시오. 예 :

$start_date = new DateTime('2007-09-01 04:10:58');
$since_start = $start_date->diff(new DateTime('2012-09-11 10:25:00'));
echo $since_start->days.' days total<br>';
echo $since_start->y.' years<br>';
echo $since_start->m.' months<br>';
echo $since_start->d.' days<br>';
echo $since_start->h.' hours<br>';
echo $since_start->i.' minutes<br>';
echo $since_start->s.' seconds<br>';

$ since_start는 DateInterval입니다 객체입니다. days 속성을 사용할 수 있습니다 (DateTime 클래스의 diff 메서드를 사용하여 DateInterval 객체를 생성했기 때문에).

위의 코드는 다음과 같이 출력됩니다.

1837 일 총
5 년
0 개월
10 일
6 시간
14 분
2 초

총 시간 (분)을 얻으려면 다음을 수행하십시오.

$minutes = $since_start->days * 24 * 60;
$minutes += $since_start->h * 60;
$minutes += $since_start->i;
echo $minutes.' minutes';

출력됩니다 :

2645654 분

두 날짜 사이에 경과 한 실제 시간 (분)입니다. DateTime 클래스는 “이전 방식”이 적용되지 않는 일광 절약 시간제 (시간대에 따라 다름)를 고려합니다. 날짜와 시간에 관한 매뉴얼을 읽으십시오 http://www.php.net/manual/en/book.datetime.php


답변

답은 다음과 같습니다.

$to_time = strtotime("2008-12-13 10:42:00");
$from_time = strtotime("2008-12-13 10:21:00");
echo round(abs($to_time - $from_time) / 60,2). " minute";


답변

<?php
$date1 = time();
sleep(2000);
$date2 = time();
$mins = ($date2 - $date1) / 60;
echo $mins;
?>


답변

그것은 내 프로그램에서 작동했습니다 . 사용하고 있습니다 . 여기에서 매뉴얼을 date_diff확인할 수 있습니다 .date_diff

$start = date_create('2015-01-26 12:01:00');
$end = date_create('2015-01-26 13:15:00');
$diff=date_diff($end,$start);
print_r($diff);

원하는 결과를 얻을 수 있습니다.


답변

시간대와 다른 방법.

$start_date = new DateTime("2013-12-24 06:00:00",new DateTimeZone('Pacific/Nauru'));
$end_date = new DateTime("2013-12-24 06:45:00", new DateTimeZone('Pacific/Nauru'));
$interval = $start_date->diff($end_date);
$hours   = $interval->format('%h');
$minutes = $interval->format('%i');
echo  'Diff. in minutes is: '.($hours * 60 + $minutes);


답변

내 블로그 사이트 중 하나 (이전 날짜와 서버 날짜의 차이)에 대해이 기능을 작성했습니다. 그것은 당신에게 다음과 같은 결과를 줄 것입니다

“49 초 전”, “20 분 전”, “21 시간 전”등

통과 날짜와 서버 날짜의 차이를 알려주는 함수를 사용했습니다.

<?php

//Code written by purpledesign.in Jan 2014
function dateDiff($date)
{
  $mydate= date("Y-m-d H:i:s");
  $theDiff="";
  //echo $mydate;//2014-06-06 21:35:55
  $datetime1 = date_create($date);
  $datetime2 = date_create($mydate);
  $interval = date_diff($datetime1, $datetime2);
  //echo $interval->format('%s Seconds %i Minutes %h Hours %d days %m Months %y Year    Ago')."<br>";
  $min=$interval->format('%i');
  $sec=$interval->format('%s');
  $hour=$interval->format('%h');
  $mon=$interval->format('%m');
  $day=$interval->format('%d');
  $year=$interval->format('%y');
  if($interval->format('%i%h%d%m%y')=="00000")
  {
    //echo $interval->format('%i%h%d%m%y')."<br>";
    return $sec." Seconds";

  }

else if($interval->format('%h%d%m%y')=="0000"){
   return $min." Minutes";
   }


else if($interval->format('%d%m%y')=="000"){
   return $hour." Hours";
   }


else if($interval->format('%m%y')=="00"){
   return $day." Days";
   }

else if($interval->format('%y')=="0"){
   return $mon." Months";
   }

else{
   return $year." Years";
   }

}
?>

“date.php”라고 가정하여 파일로 저장하십시오. 이 같은 다른 페이지에서 함수를 호출

<?php
 require('date.php');
 $mydate='2014-11-14 21:35:55';
 echo "The Difference between the server's date and $mydate is:<br> ";
 echo dateDiff($mydate);
?>

물론 두 값을 전달하도록 함수를 수정할 수 있습니다.