Beiträge: 20
Themen: 9
Registriert seit: 28.12.2005
03.01.2006, 16:30
(Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2006, 01:00 von Michael.)
Hallo,
nach dem jahreswechsel hat sich irgendwas bei der Datumsanzeige des Geburtstages verändert. Das Datum ist bei allen usern um einen Tag zurückgegangen. Im ACP habe ich jetzt keine Einstellung gefunden, die das Problem behebt.
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
Hast Du diese Änderung schon durchgeführt?
The User, Formerly Known As "En-Gedi"
Beiträge: 7
Themen: 0
Registriert seit: 10.12.2005
ist bei uns auch so passiert (bis jetzt bei 1 User)
im Kalender wird das Datum korrekt angezeigt
aber im Persönlichen Profil 1 Tag früher als ursprünglich eingegeben.
Das eingegebene Jahr ist ganz verschwunden und das deutsche Datumsformat ist auch weg (Anzeige May statt Mai)
Termineingaben im Kalender sind nicht betroffen.
en-gedi schrieb:Hast Du diese Änderung schon durchgeführt?
Ja
Gruß... olby
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
04.01.2006, 00:23
(Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2006, 09:42 von ows.)
Immer wieder diese Kalender-Bugs
Hab´s jetzt auch mal lokal getestet ... stimmt leider!
Ich habe dazu einen neuen Benutzer angelegt und dessen Geburtsdatum immer wieder verändert. Solange das Geburtsdatum im Bereich 30.10. - 26.03. (einschließlich dieser Tage) liegt, wird alles korrekt angezeigt.
Bei einem Geburtsdatum im Bereich 27.03. - 29.10. (einschl.), wird in der Detailansicht des Kalenders, also wenn man auf den Geburtstag klickt, das Geburtsdatum um einen Tag zurückgesetzt. Im Kalender selbst wird der Geburtstag immer korrekt am jeweiligen Tag angezeigt!
Kurzfristige Abhilfe bis zu einer Lösung: im entsprechenden Template (Kalender Templates -> calendar_dayview_birthdays) die Anzeige des Geburtsdatums ($lang->birthdays_on_day) auskommentieren. So werden wenigstens keine falschen Daten angezeigt.
Anders als bei olby, sind bei mir alle Geburtsdaten im Profil des Users korrekt, die Jahreszahl und auch das deutsche Datumsformat wird angezeigt.
MyBB-Version: 1.01 (100.08 - incl. aller Updates - auch die im o.a. Link beschriebenen Bugs)
PHP-Version: 4.3.3 | MySQL-Version: 3.23.39
The User, Formerly Known As "En-Gedi"
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
Gerade ist mir dazu was aufgefallen:
Gibt´s da evtl. einen Zusammenhang mit der Sommerzeit? Den Daten nach könnte es sein.
The User, Formerly Known As "En-Gedi"
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Das habe ich auch schon gedacht...Habe den Fehler auf jeden Fall gemeldet.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 1
Themen: 0
Registriert seit: 14.03.2006
Vielleicht sollte man in der calendar.php aus der Zeile
Code: $bdaydate = mydate($mybb->settings['dateformat'], $eventdate);
eine Zeile Code: $bdaydate = mydate($mybb->settings['dateformat'], $eventdate, "-");
machen und mydate in der inc/functions.php so umschreiben, das wenn $offset=="-" ist date anstatt gmdate genutzt wird. Ich würde sagen das ist auf jedenfall nen Sommerzeitproblem. Geburtstage die in der Winterzeit liegen weil GMT+1 eingestellt ist werden richtig angezeigt. Geburtstage in der Sommerzeit GMT+2 werden als Tag davor mit der Uhrzeit 23:00 angezeigt.
Beiträge: 762
Themen: 23
Registriert seit: 18.03.2006
MyBB-Version: 1.2.2
Ich denk des is ein Problem von mydate.
Vorschlag:
In der inc/functions.php
PHP-Code: function mydate($format, $stamp, $offset="", $ty=1)
suchen und ändern:
PHP-Code: $date = gmdate($format, $stamp + ($offset * 3600));
und
PHP-Code: $todaysdate = gmdate($format, $stamp + ($offset * 3600)); $yesterdaysdate = gmdate($format, ($stamp - 86400) + ($offset * 3600));
zu:
PHP-Code: $date = date($format, $stamp + ($offset * 3600));
und
PHP-Code: $todaysdate = date($format, $stamp + ($offset * 3600)); $yesterdaysdate = date($format, ($stamp - 86400) + ($offset * 3600));
An Michael oder andere PHP-Cracks:
Kann das nochmal jemand überprüfen aber es funktioniert, da der Timestamp ja von den Settings schon vorgegeben wird und gmdate nochmal +1 hinzufügt, da meine Systemzeit ja auch auf +1 steht(?)
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
25.03.2006, 22:27
(Dieser Beitrag wurde zuletzt bearbeitet: 25.03.2006, 22:28 von Michael.)
Ich kann es jetzt auf die Schnelle nicht überprüfen. In der Entwicklerversion wird immer noch gmdate verwenden, was ich auch logisch finde. Die im Admin-CP eingegebene GMT-Zeit-Differenz, also hier +1, wird ja auf die GMT-Zeit aufgerechnet. Die wird eben durch die Funktion gmdate ausgegeben, die Funktion date gibt die aktuelle Ortszeit aus.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 762
Themen: 23
Registriert seit: 18.03.2006
MyBB-Version: 1.2.2
Ich hab uinter http://de3.php.net/manual/de/function.gmdate.php folgendes gefunden:
Zitat:Entspricht der date() Funktion, außer dass als Zeitangabe immer Greenwich Mean Time (GMT) zurück gegeben wird. Steht ihr System in Deutschland (GMT + 01:00), wird im Beispiel unten (1. Zeile) "Jan 01 1998 00:00:00" ausgegeben, wogegen die 2. Zeile "Dec 31 1997 23:00:00" zurück gibt.
Beispiel gmdate()
<?php
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>
Des heißt wenn ich ein Event am 25.03.2006 eingetragen hab dann wird das ja mit der Uhrzeit 00:00 Uhr ausgegeben, da ich ja nur ein Datum ohne Uhrzeit auslese. gmdate gibt mir dann aber 24.03.2006 23:00 Uhr zurück und somit ist das Event plötzlich an einem Tag früher...:question:
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
|