Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: botschi am 29.10.07 - 10:42:37

Titel: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: botschi am 29.10.07 - 10:42:37
Hallo,

ich habe folgenden Code in einer Anwendung:
Code
If Weekday(tag.DateOnly) = 6 Then
	Call tag.AdjustDay(3)

Die Variable "Tag" = 26.10.2007. 3 Tage drauf sollte eigentlich (und hat es bislang auch immer) den 29.10.2007 ergeben.
Es ergibt aber den 28.10.2007.

Liegt es an den optionalen Parameter den ich nicht verwende? Wie kann ich Notes dazu bringen, 3 Tage auf den 26.10. zu addieren und nicht nur 2?

Matthias
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: botschi am 29.10.07 - 10:52:31
Mit

Code
If Weekday(tag.DateOnly) = 6 Then
	Call tag.AdjustDay(3, True)

funktioniert es wieder wie gewohnt.

Matthias
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: pete_bla am 29.10.07 - 18:42:34
Hi,

Hat das etwa mit dem gewöhnungsbedürftigen "Datumshändling" in NotesDateTime zu tun:

z.B. wird gerne nur das Datum "26.10.2007"
als  "26.10.2007 0:00:00"  interpretiert
und Dein AdjustDay(3)
wäre dann:
+ 3 Tage: = "29.10.2007 0:00:00"
und die Zeitumstellung:
 -1 Stunde: "28.10.2007 23:00:00" 
also wieder der "28.10.2007" als Datum ....  :P

Was gibt noch für "Ideen" dazu?

Grüsse, Pete(r)
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: koehlerbv am 29.10.07 - 19:17:37
Wenn Du die Datumsangaben nicht in Strings setzen würdest (sondern als Ganzzahlen verwendest), dann ist genau das die Erklärung, Pete. Und das steht ja so auch in der DesignerHelp, dass eben genau das passieren wird.

Bernhard
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: pete_bla am 29.10.07 - 19:25:32
Hi,

genau deswegen habe ich ja das hier "als String" geschrieben - da es damit gerne Auftritt
 (und es 2mal im Jahr Überaschungen gibt ... oder natürlich öfters, bei "globalen Systemen", wenn man die auch hier die Zeitezone vergisst.)

Gewöhnungsbedüftig ist es aber dennoch, da man ein Datum meinte und nie 0:00:00 Uhr ....
ok es ist ja NotesDateTime / TimeDate und nicht nur NotesDate  ^-^
Works as Designed - man muss es eben kennenlernen!

Grüsse, Pete(r)
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: koehlerbv am 29.10.07 - 19:34:38
Da NotesDateTime (fast) nichts anderes als eine Datumsseriennummer, geht das auch gar nicht anders. Wird nur der Tag angegeben, dann ist der ungerade Teil (die Uhrzeit) Null Uhr.

Das arbeitet also wirklich "as designed" und ebenso wie in anderen System üblich auch.

Bernhard
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: pete_bla am 29.10.07 - 19:40:07
Jupp das wollte ich (zwar nicht so detailiert, aber für die normale Anwendung) verdeutlichen:

-> macht man dies wären der "Sommerzeit":
Und aus "29.10.2007" wird als Date eben >29.10.2007 0:00:00 CEDT<
und u.U. mit der Winterzeitumstellung dann >28.10.2007 23:00:00 CET< und daraus der "28.10.2007".

umgekehrt gibts den Effekt natürlich auch - ... wann ist nochmals die Winter-Sommerzeit....  ??? egal -
da wird dann aus ??.04.2008 0:00:00 CDT ... ??.04.2008 1:00:00 CEDT
aber das hat keine Auswirkung auf das resultierende Datum und fällt darum nicht auf!

Grüsse, Pete(r)
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: koehlerbv am 29.10.07 - 19:47:53
Pete, lass die Strings da heraus. Das wäre übelster Stil (aber wirklich allerübelster, ist aber leider weit verbreitet), und den gleichen Effekt bekommst Du auch, wenn Du das z.B. mit Datenumber oder mit der Wandlung einer Long-Zahl (Datumsseriennummer!) machst.
Wir wollen ja hier keinen auf falsche Ideen bringen  ;)

Bernhard
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: pete_bla am 29.10.07 - 19:48:32
GENAU!!!!!

String - Datum - String: AUFPASSEN!!!!

aber sonst auch "Time-Zone" aufpassen, darum wohl auch das Agrument in adjust !

Gruss, Pete(r)

nachtrag 19:57: - ok habs wieder gestrichen bevor ich noch mist erzähl ....
Titel: Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
Beitrag von: koehlerbv am 29.10.07 - 19:55:09
NEIN!
String - Datum ist ein No-No!

Und die Herausforderung Timezone hat damit nichts zu tun.

Bernhard