WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Kunden helfen Kunden - Hier geht es um die Webhosting Tarife, Domain-Angebote und Services vom Webhoster Suleitec.de - Internet-Domain bestellen


Forum » Webhoster Suleitec.de - Domain, Support und Registrierung » Probleme mit PHP Fkt. getdate? » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von Mascha
Hallo Miteinander,

bisher habe ich ja immer ausschliesslich Rieke mit meinen (zugegebenermaßen) manchmal etwas merkwürdigen Fragen genervt ) - ...

Nun seid Ihr dran :

Kann sich jemand von Euch erklären, warum die getdate Funktion sich bei einem bestimmten Monat "verrechnet"? Um es etwas plastischer zu machen, habe ich mal folgendes kleines Skript erstellt:

http://www.german-law.net/bug.php

Der PHP Code lautet:

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:
 <?

function get_timestring($timestamp)

	{

	$t = getdate($timestamp);

	if ($t['minutes']<10) $t['minutes']="0".$t['minutes'];

	if ($t['hours']<10) $t['hours']="0".$t['hours'];

	$zeitpunkt_string = $day_item[$t['wday']] 
. ", " . $t['mday'] . ". " . $t['mon'] . " ".$t['year']." - ".$t['hours'].":".$t['minutes'];

	return $zeitpunkt_string;

	}



$ts = 715046400;

for($i=1; $i <= 50; ++$i)

	{

	echo $ts." ~~> ".get_timestring($ts)."<BR>";

	$ts += 86400;

	}

	?>


Wie Ihr bei der Ausgabe des Skripts sicher bemerkt, verrechnet sich getdate vom 27.9.92 zum 28.9.92 genau um eine Stunde - d.h. die Differenz des timestamps zum vorherigen Tag ist zwar korrekt mit 86400 Sekunden, die Ausgabe der Stundendifferenz zeigt allerdings ein Minus von einer Stunde (ursprünglich Offset 2 Stunden, nach dem 28.9 ein Offset von nur noch 1 Stunde).

Habe ich da jetzt einen Denkfehler oder ist dass tatsächlich ein Bug in PHP?

Sicher fragen sich einige von Euch, worin nun die Relevanz dieses Fehler steckt .. nun ich habe eine kleine Datenbank, in der ich Einträge (auch) nach Datum vornehme. Um die Suche im Archiv der Datenbank zu erleichtern, nutze ich einen generierten Kalender, der dann den Hit entsprechend markiert. Bei einem Eintrag am 30.9.92 kam dann der Kalender außer Tritt ... er wurde zum einen nicht mehr richtig generiert und zum anderen wurde der Hit nicht richtig angezeigt.

Ich habe des Problem bisher dadurch umgangen, indem ich für diesen einzelnen Fehler folgende Ausnahmebehandlungsroutine einsetze:

if ($start_tag == 717631200) $start_tag = 717634800;

Aber dat ist ja keine Lösung des Problems an sich ....

Hat jemand von Euch vielleicht eine Idee, woran dat liegen könnte?

Vielen Dank für Eure Geduld!

Mascha

[ Diese Nachricht wurde geändert von: Mascha am 2002-07-31 10:16 ]

[ Diese Nachricht wurde ge&auml;ndert von: Mascha am 2002-07-31 10:17 ]

Nach oben