Autor Thema: Differenz zwischen zwei Datumswerten auswerten  (Gelesen 9888 mal)

Offline Pidray

  • Junior Mitglied
  • **
  • Beiträge: 58
  • 640K ought to be enough for anybody. (Bill Gates)
Differenz zwischen zwei Datumswerten auswerten
« am: 17.06.10 - 11:00:32 »
Hallo @all !

ich habe im Forum die Möglichkeit o.g. Differenz zu ermitteln gefunden (danke @koehlerbv):
     diff := @If(@IsTime(Endtag) & @IsTime(Starttag); (@Date (Endtag) - @Date (Starttag)) / 86400; 0);

Nun will ich auswerten, ob diff >20:
     @if(diff>20; then ; else);

aber es wird immer then ausgeführt, egal ob diff=9 oder diff=190 !

also habe ich mir das mal ausgeben lassen:
     @Prompt([Ok]; "diff >20 ?"; @Text(diff>20));
     @Prompt([Ok]; "diff <=20 ?"; @Text(diff<=20));

in beiden Fällen ist das Ergebnis = 1 ! Was mache ich falsch ?
@isNumber(diff) liefert ebenfalls 1, dann sollte diff>20 doch machbar sein, oder ?

Schon mal Danke im Voraus !

Gruß
Katrin
« Letzte Änderung: 18.06.10 - 07:52:52 von Pidray »
Lotus Notes 6.0.1

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #1 am: 17.06.10 - 11:18:28 »
Ich hab das mal auf die Schnelle nachgestellt und es funktioniert so wie es soll. Ich habe diese Formel verwendet:


diff := @If(@IsTime(Endtag) & @IsTime(Starttag); (@Date (Endtag) - @Date (Starttag)) / 86400; 0);
@Prompt([Ok]; "Diff"; @Text(diff));
@if(diff>20; @Prompt([Ok]; "Diff"; "Diff > 20") ; @Prompt([Ok]; "Diff"; "Diff<=20"));


Sind die beiden Felder vom Typ Datum/Zeit? Lass dir mal direkt nach der Berechnung den WErt von diff ausgeben.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Pidray

  • Junior Mitglied
  • **
  • Beiträge: 58
  • 640K ought to be enough for anybody. (Bill Gates)
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #2 am: 17.06.10 - 12:00:30 »
Danke für die schnelle Antwort !
Wert von diff ?
@Prompt([Ok]; "diff ="; @Text(diff));
Ergebnis für Dok1 = 9
Ergebnis für Dok2 = 190


Starttag := @TextToTime(@Unique(t1 : t2 : t3));
Endtag := @Now;

     t1,t2,t3 = Substrings je eines Textfeldes (welches Datum und Text enthält - oder leer ist),
                   um nur das Datum zu ermitteln

@IsTime(Starttag) liefert 1    also TRUE
@IsTime(Endtag)   liefert 1

@IsNumber(diff)    liefert 1


diff>20    UND    diff<=20     liefern beide 1

Also egal, ob ich     @if(diff>20; then ; else);
oder                     @if(diff<=20; then ; else);
schreibe, es wird in beiden Fällen then ausgeführt ...


Gruß + Dank
Katrin
Lotus Notes 6.0.1

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #3 am: 17.06.10 - 12:31:52 »
Hallo,

Was steht denn in t1, t2, t3 drin?


Andreas

Offline Pidray

  • Junior Mitglied
  • **
  • Beiträge: 58
  • 640K ought to be enough for anybody. (Bill Gates)
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #4 am: 17.06.10 - 12:46:28 »
Was steht denn in t1, t2, t3 drin?
z.B:
     wenn Feld_T1 = "OK 09.12.2009 13:41:54   Vorname Name"
     dann t1 := @Middle( Feld_T1;"OK ";10)   
     also = "09.12.2009"

     (Feld_T1 war ursprünglich nur als LOG-Feld geplant, nun brauche ich daraus das Datum;
     es kann aber auch leer/ungefüllt sein)


oder liegt es irgendwie an meinem Liste-bilden  (t1:t2:t3)? Muss ich vorher noch ein @implode drumlegen ?
Aber mein Starttag := @TextToTime(@Unique(t1 : t2 : t3)) wird mir korrekt als @isTime=TRUE angezeigt ...

Gruß
Katrin
Lotus Notes 6.0.1

BigWim

  • Gast
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #5 am: 17.06.10 - 13:21:42 »
Ich habe das mal so nachgestellt:

Code
_Start := "01.10.2010":"02.10.2010":"03.10.2010";
_Ende := "20.10.2010":"22.10.2010":"24.10.2010";

Starttag := @TextToTime(_Start);
Endtag := @TextToTime(_Ende);

 diff := @If(@IsTime(Endtag) & @IsTime(Starttag); (@Date (Endtag) - @Date (Starttag)) / 86400; 0);

@Prompt([Ok]; "diff >20 ?"; @Text(diff));

und würde damit Deine Vermutung stützen, dass es mit der Datumsliste zusammenhängt. Denn es wird in dem obigen Beispiel nur die 19 ausgeben und damit ist das Ergebnis von Diff < 20 immer gleich!

Was die Operationen mit Listen betrifft, bin ich nicht so sattelfest (habe selbst noch einige Links von Superbeispielen, komme aber leider nicht dazu, mit näher damit zu beschäftigen).

Vielleicht schreibst Du mal, was Du mit dem Vergleich von Datumslisten überhaupt erreichen willst.

Markus

Offline Pidray

  • Junior Mitglied
  • **
  • Beiträge: 58
  • 640K ought to be enough for anybody. (Bill Gates)
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #6 am: 17.06.10 - 13:30:17 »
Muss ich vorher noch ein @implode drumlegen ?
Scheint doch an der Liste (t1:t2:t3) zu liegen, vermutlich durch eventuelle leere Werte (t1 und t2 haben gleiches Datum, t3 war leer) ?
Mit @implode gibt es ein korrektes Ergebnis bei Abfrage von diff>20


Starttag := @TextToTime(@implode(@Unique(t1:t2:t3)));


Nochmals Danke für den Denkanstoß !

Gruß
Katrin
Lotus Notes 6.0.1

Offline Pidray

  • Junior Mitglied
  • **
  • Beiträge: 58
  • 640K ought to be enough for anybody. (Bill Gates)
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #7 am: 17.06.10 - 13:34:21 »
Vielleicht schreibst Du mal, was Du mit dem Vergleich von Datumslisten überhaupt erreichen willst.
Ich wollte je nach Zeitspanne unterschiedliche Aktionen ausführen.
Nur wenn mein Datum Starttag max. 20 Tage zurückliegt, soll eine Mail gesendet werden, sonst nicht.

Nochmals Danke !
Katrin
Lotus Notes 6.0.1

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #8 am: 17.06.10 - 20:11:20 »
Hallo

20 Tage sind aber keine Dif 20, Dif wird in Sekunden angegeben.
Den notwendigen Faktor für Tage hat Dir Axel schon oben angegeben.

Gruß Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #9 am: 17.06.10 - 23:31:17 »
Werner, bitte lese diesen Thread komplett  ;) Katrin outet sich schon im allerersten Post als Kundige dieser Tatsache und dividiert durch 24 * 60 * 60 (=86400).

Bernhard

Offline Pidray

  • Junior Mitglied
  • **
  • Beiträge: 58
  • 640K ought to be enough for anybody. (Bill Gates)
Re: Differenz zwischen zwei Datumswerten auswerten
« Antwort #10 am: 18.06.10 - 07:52:21 »
Katrin outet sich schon im allerersten Post als Kundige dieser Tatsache
kundig ? naja, zumindest beherrsche ich copy&paste; hab doch geschrieben, dass ich Deine Formel übernommen hatte
 ;)

@Werner:
anhand meiner Werte für diff (9 bzw. 190) habe ich gesehen, dass es Tage sind.

Gruß+Dank
Katrin
Lotus Notes 6.0.1

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz