1. PHP / Говнокод #3409

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    function plusDay($data){
    	$dat=explode(".",$data);
    	if ($dat[0]<28){
    		$dat++;
    		} else {
    			if (($dat[1]!=2)&&($dat[0]<31)){
    				$dat[0]++;
    				}
    			if (($dat[1]==2)&&($dat[0]==28)){
    				$dat[1]++;
    				$dat[0]=1;
    				}
    			if (($dat[1]==1)&&($dat[1]==3)&&($dat[1]==5)&&($dat[1]==7)&&($dat[1]==8)&&($dat[1]==10)&&($dat[1]==12)&&($dat[0]==31)){
    				$dat[0]=1;
    				if ($dat[1]==12){
    					$dat[2]++;
    					$dat[1]=1;
    					}else{
    						$dat[1]++;
    						}
    				}
    			if (($dat[1]==4)&&($dat[1]==6)&&($dat[1]==9)&&($dat[1]==11)&&($dat[0]==30)){
    				$dat[0]=1;
    				$dat[1]++;
    				}
    			}
    	return implode(".",$dat);
    }

    Запостил: DSL88, 07 Июня 2010

    Комментарии (21) RSS

    • Бездаты лучше бы делали сайты ...
      Ответить
    • Объясните мне пожалуйста что это? Я до конца не могу понять что они творят и как до этого додумались
      Ответить
    • я это называют "поток сознания" =)
      Ответить
    • Для непонятливых:
      Данная функция увеличивает номер дня из даты формата ДД.ММ.ГГГГ.
      Не учитывает 29 февраля
      Ответить
      • А нафига первый вложенный if?
        Ответить
      • Вероятно, я ошибаюсь, поправьте меня:
        1. Как можно делать $dat++ (инкремент массива)?
        2. Контрпример: 30.01.2000. На выходе будет разве 31.01.2000?
        Ответить
      • ага
        strtotime("+1 day", strtotime($data));
        Ответить
    • Где здесь больгенос?
      Ответить
      • любой код (с) Denis Popov
        Ответить
      • Здесь используется Календарь Попова.
        Ответить
        • Этот код написан на совершенно уникальном языке "Denis Popov Sepecial Language" (DPSL).

          На нем переписали ядро linux, вместо устаревшего и неудобного С
          Ответить

    Добавить комментарий