Home >Backend Development >PHP Tutorial >Code sharing of DateDiff and DateAdd time functions implemented in PHP, datediffdateadd_PHP tutorial

Code sharing of DateDiff and DateAdd time functions implemented in PHP, datediffdateadd_PHP tutorial

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-07-13 10:20:48948browse

Sharing of DateDiff and DateAdd time function code implemented in PHP, datediffdateadd

Extend the time functions DateDiff and DateAdd in php

function DateDiff($part, $begin, $end)
{
$diff = strtotime($end) - strtotime($begin);
switch($part)
{
case "y": $retval = bcdiv($diff, (60 * 60 * 24 * 365)); break;
case "m": $retval = bcdiv($diff, (60 * 60 * 24 * 30)); break;
case "w": $retval = bcdiv($diff, (60 * 60 * 24 * 7)); break;
case "d": $retval = bcdiv($diff, (60 * 60 * 24)); break;
case "h": $retval = bcdiv($diff, (60 * 60)); break;
case "n": $retval = bcdiv($diff, 60); break;
case "s": $retval = $diff; break;
}
return $retval;
}

function DateAdd($part, $number, $date)
{
$date_array = getdate(strtotime($date));
$hor = $date_array["hours"];
$min = $date_array["minutes"];
$sec = $date_array["seconds"];
$mon = $date_array["mon"];
$day = $date_array["mday"];
$yar = $date_array["year"];
switch($part)
{
case "y": $yar += $number; break;
case "q": $mon += ($number * 3); break;
case "m": $mon += $number; break;
case "w": $day += ($number * 7); break;
case "d": $day += $number; break;
case "h": $hor += $number; break;
case "n": $min += $number; break;
case "s": $sec += $number; break;
}
return date("Y-m-d H:i:s", mktime($hor, $min, $sec, $mon, $day, $yar));
}

Function DateAdd($part, $n, $date)
{
switch($part)
{
case "y": $val = date("Y-m-d H:i:s", strtotime($date ." +$n year")); break;
case "m": $val = date("Y-m-d H:i:s", strtotime($date ." +$n month")); break;
case "w": $val = date("Y-m-d H:i:s", strtotime($date ." +$n week")); break;
case "d": $val = date("Y-m-d H:i:s", strtotime($date ." +$n day")); break;
case "h": $val = date("Y-m-d H:i:s", strtotime($date ." +$n hour")); break;
case "n": $val = date("Y-m-d H:i:s", strtotime($date ." +$n minute")); break;
case "s": $val = date("Y-m-d H:i:s", strtotime($date ." +$n second")); break;
}
return $val;
}

What are DATEADD and DATEDIFF in SQL statements?

datediff is to calculate the difference between two times, such as days, months, or years, etc.
select datediff(day,'2008.9.2','2008.10.28')

dateadd is to calculate how many days are added to the known time and what month it is.
select dateadd(year,10,getdate())
select dateadd(month,10,getdate ())
select dateadd(day,10,getdate())

For the DATEDIFF function problem

Returns the time interval between two dates.
Syntax
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
The syntax of the DateDiff function has the following parameters:

Parameter Description
interval Required. A string expression used to calculate the time interval between date1 and date2. See the Settings section for values.
date1, date2 are required. Date expression. Two dates used for calculation.
firstdayofweek optional. A constant that specifies the first day of the week. If not specified, it defaults to Sunday. See the Settings section for values.
firstweekofyear optional. Constant that specifies the first week of the year. If not specified, it defaults to the week of January 1st. See the Settings section for values.

Settings
interval parameter can have the following values:
Setting description
yyyy year
q quarter
m month
y number of days in a year
d day
w Days of the week
ww Week
h hours
m minutes
s seconds

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/864930.htmlTechArticleDateDiff and DateAdd time function code sharing implemented by php, datediffdateadd extends the time function DateDiff and DateAdd function DateDiff( $part, $begin, $end){$diff = strtotime($end...
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