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

    +168

    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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    function getCurrentDate(){
            $vDate = '';
            $vFullDate = getdate();	
        //print_r($vFullDate);
            if ($vFullDate['mon']<10) $vFullDate['mon']='0'.$vFullDate['mon'];
            $vDay = $vFullDate['mday'];
            $vMon = $vFullDate['mon'];
            $vYear = $vFullDate['year']; 
            $vWDay = $vFullDate['wday'];
            $vVYear = (date("L"));		
            if (($vDay == 30) && ($vMon == 4)) {
                $vDate = '04.05.'.$vYear; 
                return $vDate;
            }
            if (($vDay == 8) && ($vMon == 5)) {
                $vDate = '11.05.'.$vYear; 
                return $vDate;
            }
    
    if (($vDay==30) && (in_array($vMon,$this->mTMon))) {
                $vMon++;
                if ($vWDay == 5) {
                    $vDay=$vDay+3;
                }
                else {
                    $vDay++;
                }
                $vDay = 1;
            }
            elseif ($vDay==31) {
                $vDay =1;
                $vMon ++;
                if ($vMon<10) {
                    $vMon = '0'.$vMon;
                }
            }
            elseif (($vDay==31)&& ($vMon==12)){
                if ($vWDay == 5) {
                    $vDay=$vDay+3;
                }
                else {
                    $vDay++;
                }
                $vMon = 1;
                $vYear ++;
            }
            elseif ($vWDay == 5) {
                $vDay=$vDay+3;
            }
            else {
                $vDay++;
            }
            if ($vDay < 10) {
                $vDay = '0'.$vDay;
            }
            if ($vMon < 10) {
                $vMon = '0'.$vMon;
            }
            
    $vDate = $vDay.'.'.$vMon.'.'.$vYear; 
    	if ($vDate == '12.06.2009') {
    	    $vDate = '15.06.2009';
    	}
            
            return $vDate;
        }

    Так получилось, что мне приходится часто смотреть на чужой код. В этом случае сотрудники одного отдела, выдающего справки (число в справке должно быть на 3 дня больше текущего) пожаловались мне, что форма выдает справки обычно нормально и они даже смирились, когда у месяца появляется 31-е число, но тут появилось вдруг 32-е и они забеспокоились.
    Полез - увидел - поржал - заменил одной строчкой date('d.m.Y',strtotime("+3 days"));

    Запостил: g00d, 20 Февраля 2011

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

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