Get the previous working day
Getting yesterday's date using the PHP date() function is simple:
<?php
$lastWorkingDay = date( "d", strtotime("-1 day") );
?>
The problem began when the past day was Friday of the previous week.
To deal with this, just get the current day of the week, then switch between the collected value to go back the necessary number of days:
<?php
//get weekday, from 0 (sunday) to 6 (saturday)
$currentWeekDay = date( "w" );
switch ($currentWeekDay) {
case "1": { // monday
$lastWorkingDay = date("d", strtotime("-3 day"));
break;
}
case "0": { // sunday
$lastWorkingDay = date("d", strtotime("-2 day"));
break;
}
default: { //all other days
$lastWorkingDay = date("d", strtotime("-1 day"));
break;
}
}
?>
Written by Salustiano Silva
Related protips
2 Responses
I'm not sure, but I believe that the working days depend on the country, don't they ?
Edit, as seen in the Google, in Dubai, the working days are from Sunday to Thursday. But it should correspond in most cases ;)
over 1 year ago
·
Just did this myself. Got it a bit shorter though =)
$lastWorkingDay = date( "d", strtotime("today -1 Weekday") );
Or if you need to include today too, like in my case:
$lastWorkingDay =(date("N")<=5)?date("Y-m-d"):date("Y-m-d",strtotime('today -1 Weekday'));
over 1 year ago
·
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Php
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#