1. Список говнокодов пользователя fatlazyanimal

    Всего: 1

  2. PHP / Говнокод #1968

    +158

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    <?php
    /**
     * хелпер подсчитывает кол-во дней между двух дат
     */
    class ********_View_Helper_DateDiff 
    {
    	/**
    	 * из дня, месяца и года формирует время в формате кол-ва дней
    	 * @return integer
    	 */
    	protected function dateToDays($day, $month, $year)
        {
            if ($month > 2) {
                // March = 0, April = 1, ..., December = 9,
                // January = 10, February = 11
                $month -= 3;
            } else {
                $month += 9;
                --$year;
            }
    
            $hb_negativeyear = $year < 0;
            $century         = intval($year / 100);
            $year            = $year % 100;
    
            if ($hb_negativeyear) {
                return intval((14609700 * $century + ($year == 0 ? 1 : 0)) / 400) +
                       intval((1461 * $year + 1) / 4) +
                       intval((153 * $month + 2) / 5) +
                       $day + 1721118;
            } else {
                return intval(146097 * $century / 4) +
                       intval(1461 * $year / 4) +
                       intval((153 * $month + 2) / 5) +
                       $day + 1721119;
            }
        }
    	/**
    	 * высчитывает разницу между двух дат
    	 * @return integer
    	 */
    	public function dateDiff($day1,$month1,$year1,$day2,$month2,$year2) {	
    		$days1 = $this->dateToDays($day1,$month1,$year1);
    		$days2 = $this->dateToDays($day2,$month2,$year2);
    		return ($days1-$days2);
    	}
    }

    кусок самописного расширения ZF.
    про gregoriantojd() люди не знали.

    fatlazyanimal, 12 Октября 2009

    Комментарии (3)