bituniverse.com Foren-Übersicht bituniverse.com
Entwickler Forum
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Datumsfunktionen Wochennummer

 
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> PHP allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Holger (HMR)



Anmeldedatum: 12.11.2007
Beiträge: 131

BeitragVerfasst am: Do 07 Jan, 2010 18:34    Titel: Datumsfunktionen Wochennummer Antworten mit Zitat

Hallo Zusammen,
wünsche ein frohes neues Jahr.

In PHP gibt es ja die Datumnsfunktionen.
Mit denen kann man z.B. die Wochennummer aus einem Datum ziehen.

Dies nutze ich.
Wenn ich den Kalender anschaue, haben wir jetzt die 2.te Januarwoche.
Wenn ich aber über die Datumsfunktion arbeite :
Php:
  1. <?php
  2.  
  3.  
  4.             $match['datum']='01.01.2010'; // kommt aus einer MySQL-Tabelle
  5.             $buffer=split("\.",$match['datum']);
  6.             $timebuffer=strtotime($buffer[2]."-".$buffer[1]."-".$buffer[0]);
  7.             $wnr=date('W',$timebuffer);
  8.  
  9. ?>

ist das Ergebniss für $wnr = 53.
SOLL aber 1 sein.
1. Wieso ist das so?
2. Muß ich das jetzt mit einer Routine abfangen oder gibt es da einen Parameter, der die Wochen neu zählt?

Danke für's Reinschauen ,
Gruß Holger

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
M



Anmeldedatum: 05.11.2007
Beiträge: 107
Wohnort: Aachen

BeitragVerfasst am: Do 07 Jan, 2010 20:37    Titel: Antworten mit Zitat

Das ist in ISO-8601:1988 so definiert. Du erhälst immer eine Zahl von 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist.

Du kannst alternativ strftime() mit %W verwenden. Beachte aber, dass du dann für den 01.01.2020 die Woche 00 erhälst, weil es mit dem ersten Montag als erstem Tag der ersten Woche arbeitet.

Außerdem vielleicht noch folgendes:

split() (und die komplette Regex-Erweiterung) ist seit 5.3.0 deprecated. Verwende lieber preg_split oder explode.

Außerdem solltest du mittels date_default_timezone_set() eine Zeitzone setzen, falls date.timezone nicht gesetzt sein sollte.

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Holger (HMR)



Anmeldedatum: 12.11.2007
Beiträge: 131

BeitragVerfasst am: Fr 08 Jan, 2010 17:45    Titel: Antworten mit Zitat

Super !
Danke für die Info

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Simon W.
Anti-verdenglischungs-Abgeordneter


Anmeldedatum: 05.11.2007
Beiträge: 283
Wohnort: Aachen

BeitragVerfasst am: Fr 08 Jan, 2010 18:27    Titel: Antworten mit Zitat

Holger, dir und auch allen anderen netten Leuten hier wünsche ich auch frohes Schaffen im neuen Jahr. Smile

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    bituniverse.com Foren-Übersicht -> PHP allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB2.de
Powered by WebRing.