Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: ralph71 am 22.06.20 - 14:39:26

Titel: Fixes Datum in LS vergleichen
Beitrag von: ralph71 am 22.06.20 - 14:39:26
Hallo zusammen,

ich möchte in LS den Datumswert aus einem Dokument mit einem fixen Datum vergleichen.
Der Vergleich scheitert. Die Bedingung ist immer wahr. Dh er kann das Datum nicht vergleichen. Wo liegt der Fehler?
Eigentlich eine triviale Bedingung....
Danke!

Code
'...
Dim locDate As Variant
'...
locDate = Cdat(docrkopf.fdServicePeriod(0))
If locDate >= "01.07.2020"  And locDate <="31.12.2020" Then
'...
End if

Titel: Re: Fixes Datum in LS vergleichen
Beitrag von: Schnubbel am 22.06.20 - 15:04:07
aus dem Kopf:

Dim locDate as Notesdatetime
Dim fixdate as Notesdatetime
Dim fixdate2 as Notesdatetime

set fixdate1 =  New NotesdateTime ("01.07.2020")
set fixdate2 =  New NotesdateTime ("31.12.2020")

set locdate = New NotesdateTime (docrkopf.fdServicePeruid(0))

If locdate.TimeDifferenz(fixdate) >= 0 and locdate.TimeDifferenz(fixdate2) <= o then
'...

End if


Wie gesagt ausm Kopf, aber hilft dir eventuell mit einem zusätzlichen Blick in die Hilfe weiter.

Lieben Gruß

Thorsten
Titel: Re: Fixes Datum in LS vergleichen
Beitrag von: ralph71 am 22.06.20 - 15:48:32
Funktioniert. Perfekt!
Titel: Re: Fixes Datum in LS vergleichen
Beitrag von: Tode am 22.06.20 - 16:23:26
ABER: Funktioniert nur, wenn der Client (oder der der Server, wenn das Ding in nem Agenten steckt) so eingestellt ist, dass er ein deutsches Datum erwartet.

Ansonsten ist fixDate1 plötzlich der 07. Januar... aber fixDate2 bleibt auf dem 31.12. weil der 12.31. ja nicht geht...
Titel: Re: Fixes Datum in LS vergleichen
Beitrag von: ralph71 am 22.06.20 - 16:46:47
naja, ausgelöst wird das Ereignis immer vom Client, was aber bei Deinem Einwand bedeutungslos ist.
Was wäre zu tun, um das ganze robuster zu machen?
Titel: Re: Fixes Datum in LS vergleichen
Beitrag von: Tode am 22.06.20 - 18:29:35
Völlig ohne Zweideutigkeit:
Code
 set fixdate1 =  New NotesdateTime (Datenumber(2020, 7, 1))

Du kannst Dir aber auch die NotesDateTime- Geschichte komplett sparen und mit Variants vom Type Date arbeiten:

Code
If docrkopf.fdServicePeruid(0) <> Datenumber(2020, 7, 1) then


Titel: Re: Fixes Datum in LS vergleichen
Beitrag von: ralph71 am 23.06.20 - 08:22:21
Klappt! Danke