Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Andreas Bauer am 22.08.04 - 18:51:23

Titel: Date/Time: Verknüpfen Datum und Uhrzeit
Beitrag von: Andreas Bauer am 22.08.04 - 18:51:23
Hi zusammen,

nun schon eine 2. Frage zu Date/Time.

Angenommen ich habe 2 Felder:
a) StartDate, Typ Datum, nur Datum kann eingegeben werden
b) StartTime, Typ Datum, nur Uhrzeit kann eingegeben werden

Nun möchte ich in einem Variant das Datum von Feld (a) und die Uhrzeit von Feld (b) haben, um damit weiter berechnen etc. zu können.

In Formelsprache mache ich das so:
Code
_DateField := StartDate;
_TimeField := StartTime;
_Year := @Year(_DateField):
_Month := @Month(_DateField);
_Day := @Day(_DateField);
_Hour := @Hour(_TimeField);
_Minute := @Minute(_TimeField);
_Second := 0;
@Date( _Year ; _Month ; _Day ; _Hour ; _Minute ; _Second )

Ziel ist es, dass der Code auch auf anderen Kontinenten etc. mit anderen Zeitformaten funktioniert.

Gibt es da eine simple und vor allem *sichere* Script-Möglichkeit?

Ciao,
Andreas
Titel: Re:Date/Time: Verknüpfen Datum und Uhrzeit
Beitrag von: TMC am 22.08.04 - 20:23:43
Gute Frage  ;)

Ich habe gerade mal nachgesehen, ein @Date - LS-Equivalent gibt es ja nicht, DateNumber lässt nur Jahr, Monat und Tag zu.

Gehen würde aber evtl:

Dim vResult as variant
Dim vFieldDate as Variant
Dim vFieldTime as Variant
Dim intYear as integer
Dim intMonth as integer
Dim intDay as integer
vFieldDate = doc.StartDate(0)
vFieldTime = doc.StartTime(0)

intYear = Year(vFieldDate)
intMonth = Month(vFieldDate)
intDay = Day(vFieldDate)

vResult = Datenumber(intYear,intMonth,intDay) + Fraction(vFieldTime)

Hier nutzen wir aus, dass DateNumber ein Datum + Uhrzeit zurückgibt, die Uhrzeit aber immer 0:00:00 ist. Also einfach die Zeit des Time-Feldes draufgezählt und schon sollte es klappen.

Hab das aber jetzt hier nur reingetippt, ich weiß daher nicht ob das wirklich so klappt.
Titel: Re:Date/Time: Verknüpfen Datum und Uhrzeit
Beitrag von: Andreas Bauer am 21.09.04 - 21:42:19
Vielen dank nachträglich, das klappte so.

Sorry für die späte Rückmeldung !

Andreas