Code sharing of the DateDiff and DateAdd time functions implemented by php, datediffdateadd

Source: Internet
Author: User

Code sharing of the DateDiff and DateAdd time functions implemented by php, datediffdateadd

Extended 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 the values of DATEADD and DATEDIFF in SQL statements?

Datediff is used to calculate the difference between two time periods, such as the difference of several days, months, or years.
Select datediff (day, '192. 123', '192. 123 ')

Dateadd is used to calculate the number of days that can be added based on the known time.
Select dateadd (year, 10, getdate ())
Select dateadd (month, 10, getdate ())
Select dateadd (day, 10, getdate ())

For DATEDIFF Functions

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

Parameter description
Interval is required. String expression used to calculate the time interval between date1 and date2. For values, see the "Settings" section.
Date1 and date2 are required. Date expression. Two dates used for calculation.
Firstdayofweek is optional. Specify the constant of the first day of the week. If not specified, the default value is Sunday. For values, see the "Settings" section.
Firstweekofyear is optional. Specifies the constant of the first week of a year. If this parameter is not specified, the default value is the week of April 1, January 1. For values, see the "Settings" section.

Set
The interval parameter can have the following values:
Set description
Yyyy
Q quarter
M month
Y number of days in a year
D
Number of days per week
Ww week
H hour
M minutes
S seconds

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.