>  기사  >  백엔드 개발  >  PHP에서 두 날짜 간의 시차를 계산하는 방법은 무엇입니까? (코드 예)

PHP에서 두 날짜 간의 시차를 계산하는 방법은 무엇입니까? (코드 예)

青灯夜游
青灯夜游원래의
2019-01-12 10:40:2337741검색

두 개의 날짜가 주어지면 두 날짜 사이의 시차를 어떻게 계산할 수 있나요? 다음 기사에서는 PHP를 사용하여 두 날짜 간의 시차를 계산하는 몇 가지 방법을 소개합니다. 이것이 도움이 되기를 바랍니다.

추천 매뉴얼: php 완전 자습 매뉴얼

PHP에서 두 날짜 간의 시차를 계산하는 방법은 무엇입니까? (코드 예)

방법 1: date_diff() 함수를 사용하여 시간 차이를 계산합니다.

date_diff() 함수는 두 시간의 차이를 반환할 수 있습니다. DateTime 개체

<?php 
header("content-type:text/html;charset=utf-8");
// 创建日期时间对象
$date1 = date_create("2017-06-08"); 
$date2 = date_create("2018-09-19"); 
$interval = date_diff($date1, $date2); 
echo $interval->format(&#39;%R%a 天&#39;);
?>

출력:

PHP에서 두 날짜 간의 시차를 계산하는 방법은 무엇입니까? (코드 예)

방법 2: 수학 공식을 사용하여 시차를 계산한 다음 그 사이의 총 일수를 반환합니다.

<?php 
header("content-type:text/html;charset=utf-8");
// 指定两个日期,转换为 Unix 时间戳
$date1 = strtotime("2017-1-12 22:45:00"); 
$date2 = strtotime("2018-1-12 10:44:01"); 
//计算两个日期之间的时间差
$diff= $date1 - $date2 ;
$days =abs(round($diff / 86400));
echo "相差: ".$days."天"; 
?>

출력:

PHP에서 두 날짜 간의 시차를 계산하는 방법은 무엇입니까? (코드 예)

지침:

strtotime() 함수를 사용하여 지정된 두 시간을 Unix 타임스탬프로 구문 분석한 다음 차이를 빼서 차이를 얻은 다음 총 시간 수로 나눕니다. 초 86400 (24 * 60 * 60=86400) 일수를 구하고 마지막으로 일수를 출력합니다. 시, 분, 초를 출력하고 싶다면 어떻게 해야 하나요?

추천 관련 기사:
1.php에 대한 날짜 및 시간 연산
관련 동영상 추천:
1.Dugu Jiujian (4)_PHP 동영상 튜토리얼

이제 두 번째 방법에 따라 연도를 사용하겠습니다. 시간을 반환합니다. 월, 일, 시, 분, 초 형식의 차이입니다.

방법 3: 수학적 공식을 사용하여 시차를 계산한 다음 연, 월, 일, 시, 분, 초 형식으로 두 시간 사이의 시차를 반환합니다.

<?php 
header("content-type:text/html;charset=utf-8");
// 指定两个日期,转换为 Unix 时间戳
$date1 = strtotime("2016-06-01 22:45:00");  
$date2 = strtotime("2018-09-21 10:44:01"); 
//计算两个日期之间的时间差
$diff = abs($date2 - $date1);  
//转换时间差的格式
$years = floor($diff / (365*60*60*24)); 
$months = floor(($diff - $years * 365*60*60*24)  / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 -  $months*30*60*60*24)/ (60*60*24)); 
$hours = floor(($diff - $years * 365*60*60*24   - $months*30*60*60*24 - $days*60*60*24)  / (60*60));
$minutes = floor(($diff - $years * 365*60*60*24  - $months*30*60*60*24 - $days*60*60*24  - $hours*60*60)/ 60); 
$seconds = floor(($diff - $years * 365*60*60*24  - $months*30*60*60*24 - $days*60*60*24  - $hours*60*60 - $minutes*60)); 
printf("相差:%d 年, %d 月, %d 日, %d 小时, %d 分, %d 秒", $years, $months, $days, $hours, $minutes, $seconds);  
?>

출력:

PHP에서 두 날짜 간의 시차를 계산하는 방법은 무엇입니까? (코드 예)

위는 이 기사의 전체 내용입니다. 모든 사람의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 PHP에서 두 날짜 간의 시차를 계산하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.