Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Определение четной/нечетной недели
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Определение четной/нечетной недели

Страниц (1): [1]
 

1. dim565 - 16 Июля, 2011 - 20:26:10 - перейти к сообщению
Здравствуйте. Есть JS-код, который отображает числитель-знаменатель текущей недели (начало рассчета - понедельник).
Код рабочего JS-скрипта (Отобразить)
Главный его минус - дата берется из часов пользователя, а я бы предпочел вариант, когда время берется с часов сервера хостинга. Поэтому стал искать подобный скрипт на языке PHP.

Нашел такой, чуть переделал, чтобы было только числитель-знаменатель, а не 4 варианта. Вышло вот так:
PHP:
скопировать код в буфер обмена
  1. <?
  2. $siteglobal['insert']['week'] = '';
  3. $start = 2;
  4. $day = date("z");
  5. $stat=1;
  6. for( $i=$day-$start; $i>6 ; $i-=7){
  7.      $stat++;
  8. }
  9. $i=1;
  10. for( $i=$stat; $i>2; $i-=2){}
  11. $siteglobal['insert']['week'] = "Сегодня: ".date("j.m.Y")."<br />";
  12. switch($i){
  13.      case 1:  $siteglobal['insert']['week'].= "числитель"; break;
  14.      case 2:  $siteglobal['insert']['week'].= "знаменатель"; break;
  15.      default: $siteglobal['insert']['week'].= "Неизвестная ошибка!";
  16. }
  17.  
  18. echo $siteglobal['insert']['week'];
  19. ?>

Работает нормально, но только до 2012 года. Например, 31 Декабря 2011 года - суббота - показывает знаменатель. 1 Января 2012 года показывает числитель, хотя неделя еще не закончилась. И дальше смена недели начинается всегда во вторник.
Да, через $start можно подредактировать это, но первый скрипт (JS) работает без проблем в новом году.

Таким образом вопрос: можно ли как-то избавиться от необходимости менять $start каждый год? Может у кого есть более продвинутый PHP-скрипт?

 

Powered by ExBB FM 1.0 RC1