Autor Thema: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?  (Gelesen 4554 mal)

botschi

  • Gast
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
« Letzte Änderung: 29.10.07 - 10:52:39 von botschi »

botschi

  • Gast
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #1 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

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #2 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)
pete(r)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #3 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

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #4 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)
pete(r)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #5 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

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #6 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)
pete(r)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #7 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

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #8 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 ....
« Letzte Änderung: 29.10.07 - 19:57:58 von pete_bla »
pete(r)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« Antwort #9 am: 29.10.07 - 19:55:09 »
NEIN!
String - Datum ist ein No-No!

Und die Herausforderung Timezone hat damit nichts zu tun.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz