Home  >  Article  >  Backend Development  >  How to calculate the time difference between two dates in PHP? (code example)

How to calculate the time difference between two dates in PHP? (code example)

青灯夜游
青灯夜游Original
2019-01-12 10:40:2337740browse

Given two dates, how to calculate the time difference between them? The following article will introduce you to several methods of calculating the time difference between two dates using PHP. I hope it will be helpful to you.

Recommended manualphp complete self-study manual

How to calculate the time difference between two dates in PHP? (code example)

##Method one:Use the date_diff() function to calculate the time difference

The date_diff() function can return the difference between two DateTime objects

<?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;);
?>

Output:

How to calculate the time difference between two dates in PHP? (code example)

Method 2: Use mathematical formulas to calculate the time difference and then return the total number of days between them.

<?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."天"; 
?>

Output:

How to calculate the time difference between two dates in PHP? (code example)

Explanation:

Use strtotime() function to parse two specified times is the Unix timestamp, then subtract the difference to get the difference, then divide it by the total number of seconds 86400 (24 * 60 * 60 = 86400) to get the number of days, and finally output the number of days. What should I do if I want to output hours, minutes, and seconds?

Recommended related articles: 1.
php about date and time operations
Related video recommendations: 1.
Dugu Jiujian (4)_PHP video tutorial
Based on method 2, below we return the time difference in the format of year, month, day, hour, minute, and second.

Method 3: Use mathematical formulas to calculate the time difference, and then return the time difference between them in the format of year, month, day, hour, minute, and second.

<?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);  
?>

Output:


How to calculate the time difference between two dates in PHP? (code example)

The above is the entire content of this article, I hope it will be helpful to everyone's learning. For more exciting content, you can pay attention to the relevant tutorial columns of the PHP Chinese website! ! !

The above is the detailed content of How to calculate the time difference between two dates in PHP? (code example). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn