Quick Search:
 
 PHP Code: Get week number Jump to:  
Category: >> PHP Code >> Get week number  

<< lastnext >>

Snippet Name: Get week number

Description: This function returns the week number of the given date according to ISO 8601-1988.

Also see:
» Call a PHP function when clicking on a...

Comment: (none)

Language: PHP
Highlight Mode: PHP
Last Modified: March 01st, 2009

<?PHP 
 
FUNCTION is_leap_year($year) { 
        IF ((($year % 4) == 0 and ($year % 100)!=0) or ($year % 400)==0) { 
                RETURN 1; 
        } ELSE { 
                RETURN 0; 
        } 
} 
 
/* 
#define ISO_WEEK_START_WDAY 1 // Monday 
#define ISO_WEEK1_WDAY 4 // Thursday 
#define YDAY_MINIMUM (-366) 
  int big_enough_multiple_of_7 = (-YDAY_MINIMUM / 7 + 2) * 7; 
  return (yday 
          - (yday - wday + ISO_WEEK1_WDAY + big_enough_multiple_of_7) % 7 
          + ISO_WEEK1_WDAY - ISO_WEEK_START_WDAY); 
*/ 
 
FUNCTION iso_week_days($yday, $wday) { 
        RETURN $yday - (($yday - $wday + 382) % 7) + 3; 
} 
 
FUNCTION get_week_number($timestamp) { 
 
        $d = GETDATE($timestamp); 
 
        $days = iso_week_days($d[ "yday"], $d[ "wday"]); 
 
        IF ($days < 0) { 
                $d[ "yday"] += 365 + is_leap_year(--$d[ "year"]); 
                $days = iso_week_days($d[ "yday"], $d[ "wday"]); 
        } ELSE { 
                $d[ "yday"] -= 365 + is_leap_year($d[ "year"]); 
                $d2 = iso_week_days($d[ "yday"], $d[ "wday"]); 
                IF (0 <= $d2) { 
                        /* $d["year"]++; */ 
                        $days = $d2; 
                } 
        } 
 
        RETURN (int)($days / 7) + 1; 
} 
?>
 


 
   Home |    Search |    Code Library |    Sponsors |    Privacy |    Terms of Use |    Contact Us © 2003 - 2024 psoug.org