EIS4 (Date) und EIS3 (Time) formatieren für WFE

N’abend,

ich habe eine DCF-77-Uhr auf dem EIB-Bus liegen, die Telegramme werden auch sehr schön von IPS gelesen. Leider liegt das Format nicht in einem WAF-Format vor.

Date: 20110823
Time: 225900

Wie bereite ich die gelesenen Werte in der Form 23.08.2011 und 22:59 für das WFE auf? Jemand eine Idee?

Gruß,

Marcus

Danke,

hat sich erledigt. Nach stundenlanger Suche selbst herausgefunden.

Gruß,

Marcus

Wir wollen auch wissen, wie es geht!

Wow, da hat doch jemand mitgelesen…

Wie immer war es dann ganz einfach:

1.) Zweite String-Variable angelegt (z.B. „DatumFormatiert“)
2.) Ereignis hinzugefügt: „Bei Variablenaktualisierung“
3.) Funktion auf „None(PHP-Code)“ und dann
4.) Folgenden Code eingetragen:

<?
 $DatumBad = GetValue(xxxxx /*[EIB-Gruppen\Speicher\DCF-77\Datum]*/);
 $DatumNeu = substr($DatumBad, -2).".".substr($DatumBad, 4, 2).".".substr($DatumBad, 0, 4);
 SetValue(xxxxx,$DatumNeu);
?>

Was macht der Code?

  • Das falsche Datum in die Variable „$DatumBad“ schreiben:

$DatumBad = 20110823

  • Nun die einzelnen Schnipsel heraustrennen:

substr($DatumBad, -2) = 23
substr($DatumBad, 4, 2) = 08
substr($DatumBad, 0, 4) = 2011

alles wieder zusammen setzen, jeweils mit einem „.“ dazwischen:

23.".".08.".".2011 = 23.08.2011

und in die Variable „$DatumNeu“ schreiben:

$DatumNeu = 23.08.2011

  • Jetzt das ganze noch in den Wert der Variable „DatumFormatiert“ schreiben:

SetValue(xxxxx,23.08.2011)

Jetzt im WebFront noch auf die Variable „DatumFormatiert“ verweisen und voilá.

Für die Zeit ergibt sich das Vorgehen, oder?

Das tut es auch. :wink:

echo date("d.m.Y",strtotime($DatumBad));

Rainer,

die Antwort hätte ich gestern gebraucht! :mad: