Domino 9 und frühere Versionen > ND6: Entwicklung

Datum - Anzahl Tage ausgehend von einem bestimmten Tag

<< < (2/3) > >>

heidiweber:
Hallo,

leider habe ich das doch noch nicht :(

Ich möchte prinzipell folgendes machen:

if (Format(Today, "Short Date")  -  Format(doc.Created, "Short Date")) = 0 then


Getestet habe ich das so:

   Dim aktDate As Variant
   Dim fixDate As Variant
   aktDate = Cdat("Februar 27, 2009")
   fixDate = Cdat("Februar 26, 2009")

Messagebox  (Format(fixDate , "Short Date")   -  Format(aktDate, "Short Date")) /86400

Hier kommt -11,57... --> Wieso?? Es sollte doch eigentlich -1 herauskommen.

Wenn aktDate und fixDate das selbe Datum haben, kommt 0 heraus --> passt es aber.

Ahhhh - Wo liegt der Fehler? Kann mir bitte jemand einen Tipp geben?

Vielen Dank
Grüße
Heidi








koehlerbv:
Du scheinst überhaupt nicht gelesen zu haben, was ich im verlinkten Artikel geschrieben habe.

Datum als String ist ein No-No!
(String - String) / Zahl ist ein No-No.
86400 hat dort nichts zu suchen.

Da im Artikel wirklich alles das nachzulesen ist, gebe ich hier auch keine weiteren Tipps mehr ab, solange sich nicht an die Basics gehalten wird.

Bernhard

jBubbleBoy:
Format bringt dir ein String zurück, quasi machst Du dann sowas:
"26.02.2009" - "27.02.2009"
Notes wandelt wegen dem - Zeichen das in Zahlen um, das wäre dann:
26022009 - 27022009
geteilt durch 86400 ergibt das genau -11,57

Noch ne Frage?

Menno Bernhard war schon wieder schneller ;)

koehlerbv:

--- Zitat von: jBubbleBoy am 26.02.09 - 17:10:23 ---Menno Bernhard war schon wieder schneller ;)
--- Ende Zitat ---

Das macht doch nix. Wir machen ja keinen Wettkampf hier. Abgesehen davon: Ich muss hier lesen.

Ausserdem hast Du dann den String-Quatsch auch noch nachgerechnet. Das erleichtert Heidi sicherlich das Erkennen der von mir genannten No-No's.

Bernhard

heidiweber:
Guten Morgen,

nicht böse werden - aber wenn man nur alle paar Jahre mal eine mini Programmänderung in Notes macht, ist das schon immer wieder eine kleine Herausforderung:) Aber so wies jetzt aussieht habe ich das endlich hinbenkommen:


--- Code: ---

Dim aktDate As NotesDateTime
Dim todayDate As NotesDateTime

'Das heutige Datum setzen
Set todayDate = New NotesDateTime( Today )

Set aktDate = New NotesDateTime( doc.Created )

If doc.doneAntr_1(0) = "" And (todayDate.TimeDifference(aktDate) / 86400) > 0 And (((todayDate.TimeDifference(aktDate) / 86400) Mod 30) = 0)  Then


--- Ende Code ---

Danke euch vielmals für die Infos und Hilfe.
Grüße
Heidi

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln