Autor Thema: Datum - Anzahl Tage ausgehend von einem bestimmten Tag  (Gelesen 3138 mal)

Offline heidiweber

  • Aktives Mitglied
  • ***
  • Beiträge: 162
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

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #1 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?
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #2 am: 26.02.09 - 14:11:22 »
Schau Dir hierzu "Notes und die Zeit" an. Da wird das alles erklärt.

Bernhard

Offline thoge

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 533
  • Geschlecht: Männlich
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #3 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

Da ging es auch um eindeutige Datumsbestimmungen.

HTH

Thomas
s 6.5.5 w2k3 5
c 6.5.5 wxpp 180

Offline heidiweber

  • Aktives Mitglied
  • ***
  • Beiträge: 162
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #4 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

Offline heidiweber

  • Aktives Mitglied
  • ***
  • Beiträge: 162
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #5 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









Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #6 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

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #7 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 ;)
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #8 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

Offline heidiweber

  • Aktives Mitglied
  • ***
  • Beiträge: 162
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #9 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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datum - Anzahl Tage ausgehend von einem bestimmten Tag
« Antwort #10 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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz