note 72659 added to ref.datetime
| From: | owolawi at hotmail dot com | Date: | Sun, 28 Jan 2007 23:02:40 +0000 |
| Subject: | note 72659 added to ref.datetime | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-122304@lists.php.net to get a copy of this message | ||
#=========================================
# a function to subtract from or add seconds or minutes or hours or days or months or weeks or
years to a specified date and return the updated date
#=========================================
#$newdate = dateadd("d",3,"2006-12-12"); # add 3 days to date
#$newdate = dateadd("s",3,"2006-12-12"); # add 3 seconds to date
#$newdate = dateadd("m",3,"2006-12-12"); # add 3 minutes to date
#$newdate = dateadd("h",3,"2006-12-12"); # add 3 hours to date
#$newdate = dateadd("ww",3,"2006-12-12"); # add 3 weeks days to date
#$newdate = dateadd("m",3,"2006-12-12"); # add 3 months to date
#$newdate = dateadd("yyyy",3,"2006-12-12"); # add 3 years to date
#$newdate = dateadd("d",-3,"2006-12-12"); # subtract 3 days from date
function dateAdd($interval,$number,$dateTime) {
$dateTime = (strtotime($dateTime) != -1) ? strtotime($dateTime) : $dateTime;
$dateTimeArr=getdate($dateTime);
$yr=$dateTimeArr[year];
$mon=$dateTimeArr[mon];
$day=$dateTimeArr[mday];
$hr=$dateTimeArr[hours];
$min=$dateTimeArr[minutes];
$sec=$dateTimeArr[seconds];
switch($interval) {
case "s"://seconds
$sec += $number;
break;
case "n"://minutes
$min += $number;
break;
case "h"://hours
$hr += $number;
break;
case "d"://days
$day += $number;
break;
case "ww"://Week
$day += ($number * 7);
break;
case "m": //similar result "m" dateDiff Microsoft
$mon += $number;
break;
case "yyyy": //similar result "yyyy" dateDiff Microsoft
$yr += $number;
break;
default:
$day += $number;
}
$dateTime = mktime($hr,$min,$sec,$mon,$day,$yr);
$dateTimeArr=getdate($dateTime);
$nosecmin = 0;
$min=$dateTimeArr[minutes];
$sec=$dateTimeArr[seconds];
if ($hr==0){$nosecmin += 1;}
if ($min==0){$nosecmin += 1;}
if ($sec==0){$nosecmin += 1;}
if ($nosecmin>2){ return(date("Y-m-d",$dateTime));} else { return(date("Y-m-d
G:i:s",$dateTime));}
}
----
Server IP: 85.116.0.130
Probable Submitter: 84.12.11.182
----
Manual Page -- http://www.php.net/manual/en/ref.datetime.php
Edit -- https://master.php.net/note/edit/72659
Del: integrated -- https://master.php.net/note/delete/72659/integrated
Del: useless -- https://master.php.net/note/delete/72659/useless
Del: bad code -- https://master.php.net/note/delete/72659/bad+code
Del: spam -- https://master.php.net/note/delete/72659/spam
Del: non-english -- https://master.php.net/note/delete/72659/non-english
Del: in docs -- https://master.php.net/note/delete/72659/in+docs
Del: other reasons-- https://master.php.net/note/delete/72659
Reject -- https://master.php.net/note/reject/72659
Search -- https://master.php.net/manage/user-notes.php