Problem mit Datumsfunktion

SirNeo

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Problem mir der Datumfunktion strftime.

Ich möchte die aktuelle Kalenderwoche haben dazu nutze ich im Moment die funktion
PHP:
strftime ("%W")
Diese zählt aber erst ab der ersten vollen Woche, bedeutet das z.B. diese Woche noch null angezeigt wird, leider brauche ich aber die aktuelle und nicht immer eine Woche zurück. Einfach -1 zu rechnen geht zwar, würde aber eventuell im nächsten Jahr wieder Probleme machen, also es soll allgemein gültig sein und kein Pfusch.

Bei der Funktion
PHP:
strftime ("%V")
wird bei mir nichts angezeigt, dies soll eigentlich die entsprechende Funktion für Europa sein und die Kalenderwochenberechnung. Muss man das extra bei Server Apache einstellen?

Schon einmal vielen Dank im voraus. :)
 
Also eigentlich muß der Wochentag ein kleines "w" sein, könnte es daran liegen?
Ansonsten kannst du mit "D" den Wochentag ausgeben lassen, das müße auch funktionieren, wenn die Woche noch nicht ganz voll ist!

Gruß
Feldhofe
 
mach doch einfach

PHP:
$weeknr = strftime("%W");
if ($weeknr == "0" || $weeknr == "53") $weeknr="1";

:)
 
Das habe ich auch schon versucht, da ergibt sich das Problem, dass ich zwar dann die erste Woche als Kalenderwoche habe, leider aber alle folgenden Wochen um eins verschoben sind.

Die funktion sollte folgendes herausgeben, die Werte 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist. Die Woche beginnt montags (nicht sonntags).

Wenn ich allerdings den ersten Montag im Jahr abfragen könnte, könnte ich auch meine Funktion so umschreiben, da ist das nächste Problem, wie frage ich ein bestimmtes Datum ab??
 
OK habe es gelöst, es funktioniert die Funktion strftime ("%V")seltsamer Wiese nicht mit einem Apache auf Windows. Auf dem Webserver geht es, habe es aber trotzdem umgeschrieben, so sollte es jetzt allgemeingültig sein.

Hier für alle die es interessiert:
PHP:
$year = date("Y");
$datetn = date("w", mktime(0,0,0,1,1,$year));
if(($datetn < 5)||($datetn > 0))
{
   $kwoche = (strftime ("%W"))+1;
   $kwoche = (str_pad ($neokwoche, 2, "0", STR_PAD_LEFT));
}
else
{
   $kwoche = (strftime ("%W"));
}

Wobei die erste Woche wo noch die Wochenzahl vom Vorjahr steht als "00" Kalenderwoche ausgegeben wird.
 
hab da was bei php.net gefunden;)
PHP:
function getWeek(){
    $week = `date +%-W`;
    return intval($week)+1;
}
echo getWeek();
sollte auch funzen :-)

Ps.: für alle die es interessiert :)

GREEZ

N
O
X
 
Zurück