Я работал над определением дат понедельника и воскресенья по введенному числу. то есть человек вводит число а ему показывается какого числа был понедельник и воскресенье на данной недели.(Кто не понял код ниже). Так вот мне теперь надо определить номер недели. Кто нибудь знает как это зделать??? PHP: <html><head><title></title></head><body> <form action="" method="post"> ВВедите дату в виде 2010-07-01<br> <input name="datu" type="text" size="15" maxlength="15"> <input type="submit" name="submit" value="Ввести"> </form> <?php $year=2010;// год начала $month=5; // месяц с какого начать $day=1;// день начала!! if (isset($_POST['datu'])){ $datu = $_POST['datu']; if ($datu == ''){ unset($datu); } if ($datu != ''){ settype($year,integer); settype($month,integer); settype($day,integer); $year= substr($datu, 0, 4); $month= substr($datu, 5, 2); $day= substr($datu, 8, 2); } } $monthoflen = date('t',mktime(0, 0, 0, $month, $day,$year));// дни в месяце $dayofweek = date('w',mktime(0, 0, 0, $month, $day,$year));// какой сегодня день! if($dayofweek==0){$dayofweek=7;} echo "$year-$month-$day<br>день в недели $dayofweek<br>"; $tosunday=6-$dayofweek; $monthoflen2=$monthoflen-$tosunday; if($dayofweek==1){ $year2=$year; $month2=$month; $day2=$day; } else{ if($day<7){ if($day<$dayofweek){ if ($month==1){ $year2=$year-1; $month2=12; } else{ $year2=$year; $month2=$month-1; } $monthoflen3 = date('t',mktime(0, 0, 0, $month2, 0,$year2));// дни в месяце $dtday=$dayofweek-$day; $day2=$monthoflen3-$dtday; } else{ $year2=$year; $month2=$month; $day2=$day-$dayofweek+1; } } else{ $year2=$year; $month2=$month; $day2=$day-$dayofweek+1; } } $day=$day2; // от этой даты ищим воскресенье $month=$month2; $year=$year2; $monthoflen4 = date('t',mktime(0, 0, 0, $month, $day,$year));// дни в месяце $monthoflen2=$monthoflen4-6; if ($day>$monthoflen2){ $dtday=$monthoflen4-$day; $dtday2=6-$dtday; $day2=$dtday2; $month2=$month+1; if ($month==12){ $year2=$year+1; $month=1; } else{ $year2=$year; $month2=$month+1; } } else{ $day2=$day+6; $month2=$month; $year2=$year; } obrd0 ($month2); obrd0 ($day2); $datego=" <br>Воскресенье после вашей даты $year2-$month2-$day2<br>"; $dateend=" <br>Понедельник перед вашей датой $year-$month-$day<br>"; echo $datego,$dateend; function obrd0(&$danko){ if (strlen($danko)==1){ $danko="0$danko"; } } ?> </body></html>
Diego Velaskes я конечно многое понимаю ну ты хотябы в ман заглянул там четко сказано про параметр N (N ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7 (for Sunday)). Мне не надо числовое значение дня недели!!! Если посмотреть внимательно в коде он другим параметром находится. Мне нужен номер недели начиная с начала года)))
Все всем спасибо проблема решена))))) Всему вина плохое знание английского))))) Ношол официальный ман в нем есть такое))))