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

    Всего: 1

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

    +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 get_doc_status($date_valid) {
    	$cur_mk = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    	$date_valid = explode(".", $date_valid);
    	$valid_mk = mktime(0, 0, 0, $date_valid[1], $date_valid[0], $date_valid[2]);
    
    	if($valid_mk <= $cur_mk) {
    		return 2;
    	}
    
    	$month = intval($date_valid[1]);
    	$year = intval($date_valid[2]);
    
    	if(($month > 1) && ($month < 12)) {
    		$prev_month = $month - 1;
    		$prev_year = $year;
    	} elseif($month == 1) {
    		$prev_month = 12;
    		$prev_year = $year - 1;
    	}
    
    	$month_mk = 60 * 60 * 24 * 30;
    	$prev_mk = mktime(0, 0, 0, $prev_month, $date_valid[0], $prev_year);
    
    	if(($valid_mk - $prev_mk) <= $month_mk) {
    		return 1;
    	}
    	return 0;
    }

    Задача со слов автора:
    Есть определенная дата (что-то типа срока годности), есть текущая дата. Задача заключается в выводе статуса даты.
    1. До истечения срока больше месяца - функция возвращает 0
    2. До истечения меньше месяца - 1
    3. Срок истек - 2

    Товарисчь не знал про time() и strtottime().

    WhiteRat, 29 Января 2011

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