note 114825 added to function.easter-date
| From: | adwil at live dot com | Date: | Thu, 10 Apr 2014 15:01:24 +0000 |
| Subject: | note 114825 added to function.easter-date | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-199240@lists.php.net to get a copy of this message | ||
Hey, recently I needed a function to get realization dates in online shop, so here it is (ready to
go for polish users, please adjust your dates for any other country):
<?php
function getWorkday($date1,$workDays) {
$workDays = (int)$workDays;
if ($workDays <= 0)
return null;
$date1=strtotime('-1 day',strtotime($date1));
$lastYear = null;
$hol=array('01-01','01-06','05-01','05-03','08-15','11-01','11-11','12-25','12-26');
//array of month-date of static holidays (these are from Poland)
$i = 0;
while ($i<=$workDays) {
$year = date('Y', $date1);
if ($year !== $lastYear){
$lastYear = $year;
$easter = date('m-d', easter_date($year));
$date = strtotime($year . '-' . $easter); // easter
$easterSec = date('m-d', strtotime('+1 day', $date)); // easter
monday
$greens = date('m-d', strtotime('+49 days', $date)); // zielone
swiatki
$cc = date('m-d', strtotime('+60 days', $date)); // boze cialo
$hol[] = $easter;
$hol[] = $easterSec;
$hol[] = $greens;
$hol[] = $cc;
}
$weekDay=date('w',$date1);
if (!($weekDay==0 || $weekDay==6 || in_array(date('m-d',$date1),$hol)))
$i++;
$date1=strtotime('+1 day',$date1);
}
return date('Y-m-d',$date1);
}
?>
----
Server IP: 72.52.91.14
Probable Submitter: 79.191.162.106
----
Manual Page -- http://php.net/manual/en/function.easter-date.php
Edit -- https://master.php.net/note/edit/114825
Del: integrated -- https://master.php.net/note/delete/114825/integrated
Del: useless -- https://master.php.net/note/delete/114825/useless
Del: bad code -- https://master.php.net/note/delete/114825/bad+code
Del: spam -- https://master.php.net/note/delete/114825/spam
Del: non-english -- https://master.php.net/note/delete/114825/non-english
Del: in docs -- https://master.php.net/note/delete/114825/in+docs
Del: other reasons-- https://master.php.net/note/delete/114825
Reject -- https://master.php.net/note/reject/114825
Search -- https://master.php.net/manage/user-notes.php