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
Release: 2016-07-13 10:20:48
Original
946 people have browsed it

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;
}
Copy after login

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...
Related labels:
Statement of this Website
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
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template