Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: heidiweber am 26.02.09 - 13:53:39

Titel: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: heidiweber am 26.02.09 - 13:53:39
Hallo,

gibt es in Notes die Möglichkeit, von einem Datum die Anzahl von Tage ausgehend von einem bestimmten Tag zu ermitteln?

Die meissten Datumsfunktionen zählen doch, glaube ich, ab einem bestimmten Tag - z.B. ab 01.01.1600 und dann die Sekunden oder halt Tage....

Beispiel:
Ich habe den 26.02.2009 --> und benötige einen "eindeutigen" Tag zu diesem Datum.

Wie kann man das machen?
Vielen Dank
Grüße
Heidi
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: jBubbleBoy am 26.02.09 - 14:05:27
Über die Differenz  von 2 Datumswerten bekommst du die Zeit in Sekunden, daraus kannst Du dir Tage "errechnen" .... oder was war deine Frage?
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: koehlerbv am 26.02.09 - 14:11:22
Schau Dir hierzu "Notes und die Zeit (http://www.admincamp.de/konferenz/ent2008.nsf/bc36cf8d512621e0c1256f870073e627/ff894193dc08c946c125737600282262/$FILE/T3S6-Notes%20und%20die%20Zeit.pdf)" an. Da wird das alles erklärt.

Bernhard
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: thoge am 26.02.09 - 14:21:06
Hallo Heidi,

vielleicht hilft Dir der Lösungsansatz aus diesem Thread weiter:

http://atnotes.de/index.php/topic,39270.msg249374.html#msg249374 (http://atnotes.de/index.php/topic,39270.msg249374.html#msg249374)

Da ging es auch um eindeutige Datumsbestimmungen.

HTH

Thomas
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: heidiweber am 26.02.09 - 16:21:35
Vielen Dank euch allen für die Hilfe. War sehr informativ und hat mit sehr geholfen:)

Wünsche euch noch einen schönen Tag
Grüße
Heidi
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: heidiweber am 26.02.09 - 16:51:32
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








Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: koehlerbv am 26.02.09 - 17:08:22
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
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: jBubbleBoy am 26.02.09 - 17:10:23
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 ;)
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: koehlerbv am 26.02.09 - 17:39:47
Menno Bernhard war schon wieder schneller ;)

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
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: heidiweber am 27.02.09 - 10:38:35
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


Danke euch vielmals für die Infos und Hilfe.
Grüße
Heidi
Titel: Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
Beitrag von: koehlerbv am 27.02.09 - 10:54:53
Heidi, wir werden ganz bestimmt nicht böse (warum auch?), aber gelesen hats Du im verlinkten Artikel immer noch nicht.

Dein
Code
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

geht viel einfacher mit
Code
Messagebox (Datenumber (2009, 2, 27) - Datenumber (2009, 2, 26))

Das Gedöns mit der NotesDateTime-Klasse ist ebenfalls unnötig - Du weisst doch schon, dass Datumsangaben auf Datumsseriennummern basieren.

Bernhard