-
-
Save imbyc/144a41d4a627f8fbfa6128c3e1f24baa to your computer and use it in GitHub Desktop.
给定日期之间的周末天数
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
| @param char|int $start_date 一个有效的日期格式,例如:20091016,2009-10-16 | |
| @param char|int $end_date 同上 | |
| @return 给定日期之间的周末天数 | |
*/ | |
function get_weekend_days($start_date,$end_date){ | |
if (strtotime($start_date) > strtotime($end_date)) list($start_date, $end_date) = array($end_date, $start_date); | |
$start_reduce = $end_add = 0; | |
$start_N = date('N',strtotime($start_date)); | |
$start_reduce = ($start_N == 7) ? 1 : 0; | |
$end_N = date('N',strtotime($end_date)); | |
in_array($end_N,array(6,7)) && $end_add = ($end_N == 7) ? 2 : 1; | |
$days = abs(strtotime($end_date) - strtotime($start_date))/86400 + 1; | |
return floor(($days + $start_N - 1 - $end_N) / 7) * 2 - $start_reduce + $end_add; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment