ID: 11555
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: Feature/Change Request
Operating system: any
PHP Version: 4.0.5
Description: date() format addition

i live in sweden, where displaying weeknumbers in calendars of any sort is common. the
following code does the work, tho i'd be very happy if it could be supported to be 
returned
from the date() function.

switch(date("w",mktime(0,0,0,$mon,$daycnt+1,$year))) {
        case 1: $daysub=0; break;
        case 2: $daysub=1; break;
        case 3: $daysub=2; break;
        case 4: $daysub=3; break;
        case 5: $daysub=4; break;
        case 6: $daysub=5; break;
        case 0: $daysub=6; break;
}
$weeknumber=round((date("z", mktime(0,0,0, 
date("m"),date("d")+1-$daysub,date("Y")))+7)/7);
if($weeknumber==53) {
        //some years have 53 weeks & some 52
        //so we check next weeks weeknumber, if its 1 this is week 53, otherwise, this 
is week 1.
        switch(date("w",mktime(0,0,0,date("m"),date("d")+8,date("Y")))) {
                case 1: $daysub=0; break;
                case 2: $daysub=1; break;
                case 3: $daysub=2; break;
                case 4: $daysub=3; break;
                case 5: $daysub=4; break;
                case 6: $daysub=5; break;
                case 0: $daysub=6; break;
        }
        $tmpweeknumber=round( (date("z", mktime(0,0,0, date("m"), date("d")+8-$daysub, 
date("Y")))+7)/7);
        if($tmpweeknumber==1) $weeknumber=53;
        else $weeknumber=1;
}


Previous Comments:
---------------------------------------------------------------------------

[2001-06-19 05:41:56] [EMAIL PROTECTED]
i live in sweden, where displaying weeknumbers in calendars of any sort is common. the 
following code does the work, tho i'd be very happy if it could be supported to be 
returned from the date() function.

the algorithm is (mondaynumber+7)/7
where mondaynumber is the day of the year of the monday of the current year

switch(date("w")) {
        case 1: $daysub=0; break;
        case 2: $daysub=1; break;
        case 3: $daysub=2; break;
        case 4: $daysub=3; break;
        case 5: $daysub=4; break;
        case 6: $daysub=5; break;
        case 0: $daysub=6; break;
}
$weeknumber=(date ("z", mktime(0,0,0, date("m"), date("d")-$daysub, date("Y")) )+7)/7;


---------------------------------------------------------------------------


Full Bug description available at: http://bugs.php.net/?id=11555


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to