Intereting Posts

Как начинать недели в воскресенье?

Мне нужно получить номер недели в php, где неделя должна быть рассчитана с воскресенья. По умолчанию он с понедельника. Пожалуйста, помогите мне найти способ получить номер недели с воскресеньем в качестве стартового дня.

В php manual ISO-8601 неделя номер года, недели, начиная с понедельника (добавлено в PHP 4.1.0)

Но мне нужно получить недельный номер года, недели, начинающиеся в воскресенье.

благодаря

Попробуй это:

$week = intval(date('W')); if (date('w') == 0) { // 0 = Sunday $week++; } echo $week; 

Не уверен, что логика правильная;

Чтобы расширить ответ на шелковый огонь и позволить ему обертывать вокруг лет

  if($date->format('w') == 0){ if(date('W',strtotime($date->format('Y')."-12-31"))==52 and $date->format('W') == 52){ $week = 1; } elseif(date('W',strtotime($date->format('Y')."-12-31"))==53 and $date->format('W') == 53){ $week = 1; } else{ $week++; } } 

Попробуй это. для получения воскресного дня необходимо -1 день.

 $date = "2015-05-25"; echo date("W", strtotime("-1 day",strtotime($date))); 

первое решение не подходит 01 января 2017 года. Попробуйте следующее:

$ date = Date ('Ym-d');
echo strftime ("% U", strtotime ($ date));

Вы должны попробовать с strftime

 $week_start = new DateTime(); $week = strftime("%U"); //this gets you the week number starting Sunday $week_start->setISODate(2012,$week,0); //return the first day of the week with offset 0 echo $week_start -> format('dM-Y'); //and just prints with formatting