Home >Backend Development >PHP Tutorial >PHP program to calculate the number of years, months and days between two times_PHP tutorial

PHP program to calculate the number of years, months and days between two times_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:44:052315browse

Our principle for calculating the time difference is based on the definition: 1. There are 360 ​​days in a year and 30 days in a month; 2. 86400=24*60*60 in the code represents the number of seconds in a day, so it can be calculated

The effect is as follows

The code is as follows. What needs to be explained is: 1. Define a year as 360 days and a month as 30 days; 2. 86400=24*60*60 in the code represents the number of seconds in a day; 3. These two The time must be written in a standardized format similar to 2013-07-28; 4. Extended to all PHP programs, you can change the Get_option('swt_builddate') WordPress parameter for obtaining background data into the time parameter that needs to be compared.

 代码如下 复制代码
//Get detail gap of year,month and days between two different time by vfhky 20130728
$common = (time()-strtotime(get_option('swt_builddate')));
$a = floor($common/86400/360); //整数年
$b = floor($common/86400/30) - $a*12; //整数月
$c = floor($common/86400) - $a*360 - $b*30; //整数日
$d = floor($common/86400); //总的天数
echo $a."年".$b."月".$c."日(共计".$d."天)";
?>

Some other methods

The code is as follows
 代码如下 复制代码

function count_days($a,$b){
$a_dt=getdate($a);
$b_dt=getdate($b);
$a_new=mktime(12,0,0,$a_dt['mon'],$a_dt['mday'],$a_dt['year']);
$b_new=mktime(12,0,0,$b_dt['mon'],$b_dt['mday'],$b_dt['year']);
return round(abs($a_new-$b_new)/86400);
}
//今天与2008年10月11日相差多少天
$date1=strtotime(time());
$date1=strtotime('10/11/2008');
$result=count_days($date1,$date2);
echo $result;
?>

Copy code

 代码如下 复制代码

//今天与2008年9月9日相差多少天
$Date_1=date("Y-m-d");
$Date_2="2008-10-11";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d2-$d1)/3600/24);
echo "今天与2008年10月11日相差".$Days."天";
?>

function count_days($a,$b){
$a_dt=getdate($a);
$b_dt=getdate($b);
$a_new=mktime(12,0,0,$a_dt['mon'],$a_dt['mday'],$a_dt['year']);
$b_new=mktime(12,0,0,$b_dt['mon'],$b_dt['mday'],$b_dt['year']);
return round(abs($a_new-$b_new)/86400);
}
//How many days are there between today and October 11, 2008
$date1=strtotime(time());
$date1=strtotime('10/11/2008');
$result=count_days($date1,$date2);
echo $result;
?>

Example 2

The code is as follows Copy code
//How many days are there between today and September 9, 2008
$Date_1=date("Y-m-d");
$Date_2="2008-10-11";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d2-$d1)/3600/24);
echo "The difference between today and October 11, 2008".$Days."Days";
?>

Summary From the above example, we can see that we actually use mktime and strtotime, and then add and subtract the calculated time to get the time and date we want.
http://www.bkjia.com/PHPjc/633125.html
www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/633125.htmlTechArticleOur principle for calculating the time difference is based on the definition 1. A year is 360 days and a month is 30 days; 2. Code 86400=24*60*60, represents how many seconds there are in a day, so you can calculate the effect as...
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