AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
24.05.12 - 10:01:09
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 7
| |-+  ND7: Entwicklung (Moderatoren: eknori, Glombi, koehlerbv)
| | |-+  "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: "AdjustDay" ohne Parameter = Probleme mit Zeitumstellung?  (Gelesen 751 mal)
botschi
Gast
« 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
« Letzte Änderung: 29.10.07 - 10:52:39 von botschi » Gespeichert
botschi
Gast
« Antworten #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
Gespeichert
pete_bla
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 455


dot net gitz net!


« Antworten #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 ....  Tongue

Was gibt noch für "Ideen" dazu?

Grüsse, Pete(r)
Gespeichert

pete(r)
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 19052



« Antworten #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
Gespeichert
pete_bla
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 455


dot net gitz net!


« Antworten #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  Azn
Works as Designed - man muss es eben kennenlernen!

Grüsse, Pete(r)
Gespeichert

pete(r)
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 19052



« Antworten #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
Gespeichert
pete_bla
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 455


dot net gitz net!


« Antworten #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....  Huh 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)
Gespeichert

pete(r)
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 19052



« Antworten #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  Wink

Bernhard
Gespeichert
pete_bla
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 455


dot net gitz net!


« Antworten #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 » Gespeichert

pete(r)
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 19052



« Antworten #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
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig