Seite 1 von 1

DateTime Item in Rule - Tage addieren

Verfasst: 16. Mai 2023 14:48
von TomW80
Hallo,

Ich habe ein Item das ein Datum enthällt. Du diesem Datum möchte ich über eine Rule x Tage dazu addieren.
Aber leider funktioniert das nicht.

Habe es so probiert:

Code: Alles auswählen

val Urlaubsbeginn = (SchreibWas2Datum.state as DateTimeType).getZonedDateTime
val Urlaubsende = Urlaubsbeginn.plusdays(2)
aber da erhalte ich den Fehler:
The method plusdays(int) is undefined for the type ZonedDateTime
Was mach ich falsch?

Gruß Tom

Re: DateTime Item in Rule - Tage addieren

Verfasst: 16. Mai 2023 14:50
von TomW80
Das erste Problem hat sich erledigt, muss natürlich .plusDays() heißen.
Jetzt wollte ich aber die Zahl in .plusDays() durch mein Number Item ersetzen und erhalte wieder einen Fehler. :(

Code: Alles auswählen

val Urlaubsende = Urlaubsbeginn.plusDays(SchreibWas2Zahl)
Type mismatch: cannot convert from NumberItem to long
Wie muss ich hier das Item definieren damit es funktioniert?

Gruß Tom

Re: DateTime Item in Rule - Tage addieren

Verfasst: 16. Mai 2023 16:46
von J-N-K
Mit .state?

Re: DateTime Item in Rule - Tage addieren

Verfasst: 16. Mai 2023 21:02
von TomW80
J-N-K hat geschrieben: 16. Mai 2023 16:46Mit .state?
Leider nein, hatte ich auch schon probiert. Da kommt ein ähnlicher Fehler:
Type mismatch: cannot convert from State to long

Re: DateTime Item in Rule - Tage addieren

Verfasst: 16. Mai 2023 21:09
von J-N-K
(Schreibwas2Zahl.state as Number).intValue

Oder .longValue, bin mir nur nicht sicher ob es das gibt.

Re: DateTime Item in Rule - Tage addieren

Verfasst: 16. Mai 2023 21:29
von TomW80
J-N-K hat geschrieben: 16. Mai 2023 21:09 (Schreibwas2Zahl.state as Number).intValue

Oder .longValue, bin mir nur nicht sicher ob es das gibt.
Hat so leider direkt auch nicht funktioniert, hab aber jetzt die Lösung gefunden.

So klappt es:

Code: Alles auswählen

val addDays = (SchreibWas2Zahl.state as DecimalType).intValue
val Urlaubsende = Urlaubsbeginn.plusDays(addDays)