WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 25.04.2024 17:46:11

berny
Mitglied

Sommerzeit

Ich habe folgendes Phänomen:

// Sommerzeit berücksichtigen
//echo "debug: ".date('I')."<br>";
if(date('I') == 1 && $ts != "aktuell") {
  $ts = $ts + 3600;
}

funktioniert nicht.
date('I') = 0

mit vorgestelltem

date_default_timezone_set('Europe/Berlin');

funktioniert es.
date('I') = 1
($ts ist der übergebene Linux Timestamp.)

Sollte diese Einstellung nicht generell übernommen werden?

Server ist privat, also kein hoster, sehr restriktive Einstellungen.
PHP 8.x, WBCE 1.6.1

Nix schlimmes, aber es sollte doch so eine Funktion geben.
Kann man übrigens die Sommerzeit ev mittels direkter Konsonate im Core definieren?
Sinnvoll/-los ?

SOMMER = true
oder so ähnlich?

Gab es das Problem nicht schon mal mit irgendeiner Mail-Geschichte?

Offline

#2 26.04.2024 18:06:26

florian
Administrator

Re: Sommerzeit

Wäre sicherlich praktisch, aber die Zeitzonen anzugehen, erfordert an vielen Stellen Anpassungen, ist also eher was für WBCE 2.0


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

berny

#3 27.04.2024 08:57:19

berny
Mitglied

Re: Sommerzeit

Würde ein Eintrag in der  config.php aushelfen?
Im Template rutscht das ja durchs System...

Offline

#4 27.04.2024 09:42:49

florian
Administrator

Re: Sommerzeit

Es geht ja nicht ums Speichern der Einstellung Sommerzeit ja/nein, was mit Template auch überhaupt nichts zu tun hat, sondern wenn dann zu den Grundeinstellungen gehören würde. Wobei da eigentlich nichts mit gewonnen ist. Ob ich nun ein Häkchen bei Sommerzeit setze oder rausnehme oder die Zeitzone von UTF+1 Hours auf UTF+2 Hours stelle bzw. umgekehrt, ist ja gehupft wie gesprungen vong Arbeitsaufwand her.

Zu Deiner Abfrage:
Die Zeitzone ist auf "UTC" gesetzt, deshalb ist da die Sommerzeit immer 0. Folglich musst Du in der Tat wie oben beschrieben die Zetzone definieren.

Was soll Dein Code oben eigentlich bewirken, das ist mir nicht so ganz klar. In der if-Abfrage prüfst Du, ob $ts nicht dem String (!) "aktuell" entspricht, und wenn das so ist, addierst Du $ts den Integer-Wert (!) 3600? Das endet in

There was an unknown exception: Unsupported operand types: string + int

Beitrag geändert von florian (27.04.2024 09:43:28)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#5 28.04.2024 11:41:04

berny
Mitglied

Re: Sommerzeit

sorry, ist jetzt nur schnell Rauskopiert
$ts ist entweder ein timestamp (int) oder der string "aktuell".

Die 3600 werden für die weitere timestampberechnungen in der Navigation benötigt, deshalb diese Konstellation.

Aber darum geht's nicht wirklich ;-)

Offline

Fußzeile des Forums

up