Zeitzone in String verarbeiten

Begonnen von JudgeDredd, 05 September 2025, 13:56:40

Vorheriges Thema - Nächstes Thema

JudgeDredd

Hallo Zusammen,

angenommen ich habe folgenden UTC-DateTime-String mit einer Zeitzonenangabe:
$start = "20250908153000 +0700"
und würde diesen gerne konvertieren in:
"20250908223000"
Gibt es da eine Perl Kurzversion, ohne diesen erst zu zerlegen und mit Rechnoperationen zum Ziel zu kommen ?

Gruß,
JudgeDredd
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

betateilchen

Schau Dir mal das perl Modul DateTime::Format::Strptime an, damit kann man ein pattern definieren, um aus solchen Strings DateTime Objekte zu generieren, dabei kann man dann auch die Zeitzone mit verwursten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JudgeDredd

ok Danke. Das sollte funktionieren. Das hatte ich sogar auch entdeckt.
Ich hatte nur gehofft, ich könnte es umgehen auf ein Modul zu prüfen.
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

KyleK

Bitte beachten:

Im ISO Format
2025-09-08T15:30:00+0700 bedeutet diese Zeitangabe, dass es vor Ort 15:30:00 ist, und dass man 7h "vor" UTC ist.
Sprich, diese Angabe ist nicht UTC, sondern local time.
Der gleiche Zeitpunkt in UTC wäre
2025-09-08T08:30:00Z
FHEM on Futro S940
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

betateilchen

Zitat von: JudgeDredd am 05 September 2025, 14:42:47Ich hatte nur gehofft, ich könnte es umgehen auf ein Modul zu prüfen.

Du kannst das DateTime Objekt natürlich auch selbst erzeugen, dann musst Du den String eben per regex entsprechend zerlegen. Im Endeffekt kommt es vom Aufwand her aufs gleiche raus, aber ich würde eben nicht das Rad neu erfinden wollen, wenn es schon was fertiges gibt.



Zitat von: KyleK am 05 September 2025, 14:49:27Bitte beachten:

Du hast zwar grundsätzlich recht, das tut hier aber nix zur Sache.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JudgeDredd

Zitat von: betateilchen am 05 September 2025, 14:52:08aber ich würde eben nicht das Rad neu erfinden wollen, wenn es schon was fertiges gibt.
Du hast absolut Recht, ich nehme das Rad, das schon da ist 😅
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)