ECMAScript - slice-Befehl bzw. Substring
Verfasst: 19. Aug 2021 14:47
Hallo zusammen,
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
Das Ergebnis ist in diesem Fall "x1234". Soweit so richtig und gut.
Wie kann man aber aus einem DateTime-Item einen Substring herausbekommen?
Ergibt:
2021-08-19 14:29:06 MESZ
Aber:
ergibt leider:
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?
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?