Bug #11555 Updated: date() format addition
| From: | martin at humany dot com | Date: | Wed, 20 Jun 2001 08:44:17 +0000 |
| Subject: | Bug #11555 Updated: date() format addition | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-57347@lists.php.net to get a copy of this message | ||
ID: 11555
User Update by: martin@humany.com
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] martin@humany.com
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