简体   繁体   中英

php time periods without weekends

Given the date of a day and a number (X) of days I'd need to retrieve the date after X days without considering Saturdays or Sundays.

For example:

date1= Y-m-d   -where->   Monday of the week #20
date1+2 days=  Wednesday of the week #20

date2= Friday of the week #22
date2+1 day= Monday of week #23

Is there some built-in function for helping with that task? or must I implement it?

Thanks

This seems to work ( demo ):

$date = strtotime('2012-06-01'); // Friday

echo date('Y-m-d (l)', strtotime('+1 weekdays', $date)); // 2012-06-04 (Monday)
echo date('Y-m-d (l)', strtotime('+6 weekdays', $date)); // 2012-06-11 (Monday)
echo date('Y-m-d (l)', strtotime('+8 weekdays', $date)); // 2012-06-13 (Wednesday)
echo date('Y-m-d (l)', strtotime('+9 weekdays', $date)); // 2012-06-14 (Thursday)
echo date('Y-m-d (l)', strtotime('+10 weekdays', $date)); // 2012-06-17 (Sunday)

Sorry, but I don't know what's wrong with the last one; perhaps someone else can shed some light into it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM