| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

24-09-2008, 14:49
|
|
prego
PHP Senior
|
|
Registriert seit: May 2005
Ort: Hey ropp, hinne riwwer unn wirrer zuricke!
Beiträge: 1.602
|
|
Anzahl Kalenderwochen pro Jahr
Heyho,
da steh ich doch wieder mal vor nem Problem. Für eine KW/Jahres Auswahl benötige ich die maximale KW des ausgewählten Jahres.
Ich suche also eine Funktion die mir anhand des Jahres die maximale Kalenderwoche gibt.
date('W') mit dem letzten Tag des Jahres kann ich ja nicht nutzen weil der 31.12. ja auch schon in der ersten KW des nächsten Jahres liegen kann.
Vielleicht könnt ihr mich auf die richtige Idee bringen.
Danke
__________________
so long, der-p | 72dpi-club
Microsoft IE-Manager Dean Hachamovitch bei der Vorführung des IE7 Beta Preview 2 am 20.3.2006:
"Wir hatten mit IE ganz offensichtlich was verschlafen."
|

24-09-2008, 15:04
|
|
prego
PHP Senior
|
|
Registriert seit: May 2005
Ort: Hey ropp, hinne riwwer unn wirrer zuricke!
Beiträge: 1.602
|
|
Jetzt steh ich gerade aufem Schlauch:
PHP-Code:
date('W', mktime(0, 0, 0, 12, 31, 2008)) //ergiebt 01
PHP-Code:
SELECT yearweek('2008-12-31') //ergiebt 200852
Wer hat den denn jetzt recht?
__________________
so long, der-p | 72dpi-club
Microsoft IE-Manager Dean Hachamovitch bei der Vorführung des IE7 Beta Preview 2 am 20.3.2006:
"Wir hatten mit IE ganz offensichtlich was verschlafen."
|

24-09-2008, 15:04
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Kalenderwochen eines Jahres werden beginnend mit der Woche gezählt, in der der 4. Januar des jeweiligen Jahres liegt. Somit haben die meisten Jahre 52, manche aber 53 Kalenderwochen; zur ersten oder letzten Kalenderwoche gehören nicht selten Tage, die in einem anderen Jahr liegen. Nun mach was damit; ist doch nicht schwer
|

24-09-2008, 15:07
|
|
prego
PHP Senior
|
|
Registriert seit: May 2005
Ort: Hey ropp, hinne riwwer unn wirrer zuricke!
Beiträge: 1.602
|
|
Habs, zwar hintenrum durchs Knie, aber ok...
PHP-Code:
$year = 2008;
echo date('W', (mktime(0, 0, 0, 1, 1, $year+1) - 7*86400));
1.1.2009 - 7 Tage ergiebt die letzte KW von 2008
//edit:
OK - 7 ist falsch. -4 Wäre richtig weil wenn der 1.1. ein Donnerstag ist liegt er ja noch in der letzten KW des Vorjahres...
Also:
PHP-Code:
$year = 2008;
echo date('W', (mktime(0, 0, 0, 1, 1, $year+1) - 4*86400));
__________________
so long, der-p | 72dpi-club
Microsoft IE-Manager Dean Hachamovitch bei der Vorführung des IE7 Beta Preview 2 am 20.3.2006:
"Wir hatten mit IE ganz offensichtlich was verschlafen."
Geändert von prego (24-09-2008 um 15:11 Uhr)
|

24-09-2008, 15:31
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
@prego
Ich würde eine Kombi aus date und strtotime vorziehen
PHP-Code:
echo date('W',strtotime('04.01.2009'));
|

24-09-2008, 16:32
|
|
prego
PHP Senior
|
|
Registriert seit: May 2005
Ort: Hey ropp, hinne riwwer unn wirrer zuricke!
Beiträge: 1.602
|
|
Danke jah
Lol, hatte erst strtotime hier stehn, aber dann gedacht das ich mit Sicherheit mktime() empfohlen bekomme
Oder meinstest du strtotime alleine?
__________________
so long, der-p | 72dpi-club
Microsoft IE-Manager Dean Hachamovitch bei der Vorführung des IE7 Beta Preview 2 am 20.3.2006:
"Wir hatten mit IE ganz offensichtlich was verschlafen."
|

23-06-2009, 00:41
|
|
einermeiner
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 104
|
|
Fürs Archiv: Hab mir was gebastelt.
PHP-Code:
<?php
function anzahlKalenderWochen($jahr) // Gibt die Anzahl der Kalenderwochen eines gegebenen Jahrs (Format YYYY) zurück
{
$letzteKW = date("W",strtotime("31.12.".$jahr));
$anzahlKW = ($letzteKW == 1) ? 52 : $letzteKW;
return $anzahlKW;
} // function anzahlKalenderWochen($jahr)
?>
Keine Garantie, noch nicht getestet ;-)
|

23-06-2009, 00:56
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Ziemlich umständlich. Wenn du den 28.12. nimmst, geht es einfacher.
Hier steht warum und wie.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|