У меня есть функция, которая Подсчитайте, сколько дней в течение 1 года, и я получил его на работу с понедельника по субботу, изменив переменную $week
из:делает функции PHP считать определенный день
Monday - 6:Saturday
, но он не будет работать когда я положил 7: Sunday
.
может любой помочь. я не хватает какой-либо логики?
$year = 2016;
$newyear = $year;
$week = 0;
$day = 0;
$mo = 1;
$days = array();
$i = 1;
while ($week != 7) { // here is where I change the 1-7 for days
$day++;
$week = date("w", mktime(0, 0, 0, $mo,$day, $year));
}
array_push($days,date("r", mktime(0, 0, 0, $mo,$day, $year)));
while ($newyear == $year) {
$x = strtotime(date("r", mktime(0, 0, 0, $mo,$day, $year)) . "+" . $i . " week");
$i++;
if ($year == date("Y",$x)) {
array_push($days,date("r", $x));
}
$newyear = date("Y",$x);
}
print count($days);
спасибо за помощь ура! и можно будет сразу подсчитать 2 года общих дней, например:
У меня есть дата, которая составляет 11 января 2016 года, и я хотел знать, сколько дней прошло с 11 января 2016 года по 11 января 2018 года, сколько понедельников есть.
спасибо!
недель 0 (воскресенье) до 6 (суббота), см [руководство] (http://php.net /manual/en/function.date.php) –
Работа со временем в php или на любом другом языке - это банда червей. Я предлагаю попробовать [Carbon] (https://github.com/briannesbitt/Carbon), который был специально создан для таких вещей. – Andrew
Проверьте эти вопросы: [Поиск количества дней между двумя датами] (http://stackoverflow.com/questions/2040560/finding-the-number-of-days-between-two-dates) | [Как считать дни между двумя датами в PHP?] (Http://stackoverflow.com/questions/3653882/how-to-count-days-between-two-dates-in-php) | [найти число понедельника или понедельника между двумя датами?] (Http: // stackoverflow.com/questions/1653891/how-to-find-number-of-mondays-or-tuesdays-between-two-date) | [получить все понедельники в диапазоне дат] (http://stackoverflow.com/questions/7061802/php-function-for-get-all-mondays-within-date-range) – StoYan