irgendwie stehe ich als Anfänger mal wieder auf dem Schlauch.
Ich nutze unter openHAB 3.1.0 ECMAScript, ECMA - 262 Edition 5.1 (application/javascript) und habe dort einen kleinen Ablauf geschrieben.
Ich möchte gern u.a. aus einem String heraus ein Substring isolieren.
Habe ich dabei einen Text z.B. 'xxx123456789abc' so kann man das sehr schön mit dem Befehl "slice" machen
Code: Alles auswählen
var logger = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);
var myInfo = 'xxx123456789'
logger.info(myInfo.slice(2, 7));
Wie kann man aber aus einem DateTime-Item einen Substring herausbekommen?
Code: Alles auswählen
var myInfo = itemRegistry.getItem('Zeit').getState();
logger.info(myInfo);
2021-08-19 14:29:06 MESZ
Aber:
Code: Alles auswählen
var myInfo = itemRegistry.getItem('Zeit').getState();
logger.info(myInfo.slice(2, 7));
TypeError: myInfo.slice is not a function in <eval> at line number xy
OK, das DateTime-Item ist offensichtlich kein reiner Text. Aber wie kann man daraus in einem ECMAScript einen Substring z.B. mit der reinen Uhrzeit isolieren? Oder wie kann man das DateTime-Item in einen REINEN Text umwandeln? Kann mir da jemand auf die Sprünge helfen?