Entwickler-Ecke

Wünsche, Anregungen & Kritik - Zeit im Forum


Delete - So 04.04.04 16:05
Titel: Zeit im Forum
Ich weiß, das Thema gibt es schon tausend mal, aber ich dachte, ich frage noch mal nach.

Das Forum zeigt mir aktuell diese Uhrzeizt an:
Zitat:

Aktuelles Datum und Uhrzeit: 2004-04-04 16:00

In meinem Profil steht logischerweise richtig GMT + 1 Stunde. Wäre es möglich mit dem nächsten Update diesen Fehler im Forum endlich mal zu beheben?


Christian S. - So 04.04.04 16:23

Hm. Jetzt hatte ich das gerade erfolgreich verdrängt und jetzt kommst Du! :lol:

Sollte ja ansich kein Problem sein ... ich frage mich nur gerade, wie man rausfindet, ob Sommer- oder Winterzeit ist. :? Beginnen und Enden die immer am gleichen Datum?

//edit: Vergiss meine Frage. Ich scheine da eine Lösung gefunden zu haben.
//edit2: Japp, scheint eine Lösung zu sein. Sollte im nächsten Update behoben sein.


Delete - So 04.04.04 16:39

Peter Lustig hat folgendes geschrieben:
ich frage mich nur gerade, wie man rausfindet, ob Sommer- oder Winterzeit ist. :? Beginnen und Enden die immer am gleichen Datum?

wenn es draußen schneit,
ist bestimmt nicht Sommerzeit.


Steht im Winter noch das Korn,
dann isses wohl vergess´n wor´n.


:mrgreen:


Christian S. - So 04.04.04 16:43

MathiasSimmack hat folgendes geschrieben:
Peter Lustig hat folgendes geschrieben:
ich frage mich nur gerade, wie man rausfindet, ob Sommer- oder Winterzeit ist. :? Beginnen und Enden die immer am gleichen Datum?

wenn es draußen schneit,
ist bestimmt nicht Sommerzeit.


Steht im Winter noch das Korn,
dann isses wohl vergess´n wor´n.


:mrgreen:

Woher weißt Du, dass ich das so gelöst habe? :-)


GruppeCN - Fr 09.04.04 20:53

Das is eigentlich sogar ziemlich einfach zu lösen...

Die Sommerzeit beginnt immer um 2 Uhr am letzten Sonntag im März und endet immer um 2 Uhr am letzten Sonntag im Oktober. Das auszurechnen geht ganz einfach, hier die fertig Funktion in PHP(weil die Forensoftware auf PHP Basis arbeitet):


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
function is_sommerzeit() { 
    $day = date("W"); 
    $day_num = date("j"); 
    $month = date("n"); 
    $std = date("G"); 

   $status = 0; //winterzeit 
   $okay_eins = false; 
   $okay_zwei = false;; 
   define("monat", 31); 
   define("week", 7);  
     
   if($month == 3) { 
     $rest = monat - $day_num; 
     $day_rest = week - $day; 
     
     if($rest <= 7 AND $day_rest <= $rest) { 
        if ($std > 2) { 
          $okay_eins = true; 
        } //if std schon vorbei 
      } 
   } else if ($month > 3) { 
     $okay_eins = true; 
    } 
    
   if($month == 10) { 
     $rest = monat - $day_num; 
     $day_rest = week - $day; 
          
      if($rest <= 7 AND $day_rest <= $rest) { 
        if ($std < 2) { 
          $okay_zwei = true; 
        } //if std schon vorbei 
      } 
   } else if ($month < 10) { 
     $okay_zwei = true; 
    } 
     
    if ($okay_eins == true AND $okay_zwei == true) { 
      if ($month > 2 AND $month < 11) { 
       $status = 1; 
     } 
    } //if ok 
    
   ($status == 1) ? return true : return false;
}


Und das noch richtig einzubauen is auch nicht alzu schwer...


tommie-lie - Fr 09.04.04 21:06

Ich hab Peters Code nicht mehr ganz im Kopf, aber er hatte's irgendwie mit weniger Code gelöst. Mit zwei oder drei Zeilen, um genau zu sein :mrgreen:
Wegen kleinen Konfigurationsproblemen konnte er es aber vermutlich noch nicht hochladen (oder er wartet noch bis zur nächsten Umstellung, man will ja schließlich keine ungetesteten Patches ins DF einschleusen :mrgreen:)


GruppeCN - Fr 09.04.04 21:58

Er hat vermutlich das ganze nicht selbst ausgerechnet, sondern einfach die fertige date(); Funktion von PHP benutzt. Da sähe mein Code so aus:

Quelltext
1:
2:
3:
function is_sommerzeit() {
  (date("I") == 1) ? return true : return false;
}


Meine Methode rechnet halt alles selbst, muss man aber normalerweise auch nicht machen. Deshalb sind diese 3 Zeilen auch nich schlechter...