Frage zu Umwandlung von String über 99_myUtils

Begonnen von Claus1985, 27 August 2020, 17:46:03

Vorheriges Thema - Nächstes Thema

Claus1985

Hi Zusammen,

ich habe ein notify geschrieben das einige Daten an Loxone sendet.
Ein Datensatz enthält ein Datum mit Uhrzeit allerdings in einem Format das Loxone
nicht verarbeiten kann. Nun würde ich das gerne umformatieren.

Das Ausgangsformat lautet: 2020-08-31T14:00:00+02:00
Das Zielformat ist: 2020-08-31 14:00:00

Meine Logig wäre: Variable = left(variable, 10) & " " & mid(variable, 12, 8 )
In VBA oder C bekomme ich das hin, mit Perl tue ich mir allerdings noch arg schwer..

Meine Variable heißt $nachstesMaehen. Ich gehe davon aus, dass das am ehesten mit Split funktioniert.

Wäre klasse wenn mir jemand helfen könnte.

Danke und Gruß,

Claus

amenomade

#1
$nachstesMaehen =~ s/(.{10})T(.{8}).*/$1 $2/;

Sonst lautet die Perl Funktion die Du ähnlich wie left/mid benutzen kannst substr
$nachstesMaehen = substr($nachstesMaehen,0,10)." ".substr($nachstesMaehen, 11, 8);
Mit split ist es natürlich auch machbar, aber ein bisschen komplizierter
$nachstesMaehen = join(" ",split(/T|\+.*/, $nachstesMaehen));
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

yersinia

viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Claus1985

Vielen Dank für die schnelle Hilfe, genau das hab ich gesucht!