Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. $bankHolidays = array();
  2. foreach($obj as $e) {
  3. if($e->division == 'england-and-wales') {
  4. foreach($e->events as $events) {
  5. $bankHolidays[] = $events->date;
  6. }
  7. }
  8. }
  9.  
  10. $ret = date('d-m-Y', strtotime($bill["charge_customer_at"]. ' +2 weekdays'));
  11.  
  12. $date = '2017-07-25';
  13. $reserved = ['2017-07-27', '2017-07-28'];
  14. $days = 2;
  15.  
  16. while ($days > 0) {
  17. $date = date('Y-m-d', strtotime($date . ' +1 weekday'));
  18. if (! in_array($date, $reserved)) $days--;
  19. }
  20.  
  21. var_dump($date);
  22.  
  23. function nextBusinessDay($date, $daysToSkip,$holidays){
  24. $day = date('Y-m-d',strtotime($date. ' + '.$daysToSkip.' weekday'));
  25. if(!in_array($day,$holidays)){
  26. return $day;
  27. } else {
  28. return nextBusinessDay(date('Y-m-d',strtotime($date.' +1 day')), $daysToSkip,$holidays);
  29. }
  30. }
  31.  
  32. $date = '2017-07-19';
  33. $holidays = ['2017-07-21'];
  34. echo nextBusinessDay($date,2,$holidays);//returns 2017-07-24
  35.  
  36. $date = '2017-07-19';
  37. $holidays = ['2017-07-21', '2017-07-24'];
  38. echo nextBusinessDay($date,2,$holidays);//returns 2017-07-25 like if it were a 4 day weekend
  39.  
  40. return nextBusinessDay(date('Y-m-d',strtotime($date.' +1 day')), $daysToSkip,$holidays);
  41.  
  42. return nextBusinessDay(date('Y-m-d',strtotime($date.' +'.$daysToSkip.' day')), $daysToSkip,$holidays);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement