Created
January 20, 2015 08:18
-
-
Save GeHou/0f0a73bdea404e761368 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