Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: bikerboy am 06.08.08 - 16:41:13

Titel: NotesDateTime
Beitrag von: bikerboy am 06.08.08 - 16:41:13
Hi,

ich würde gerne bei einem NotesDateTime object eine Zeit von 06:00 Uhr setzen, nachdem ich die Hilfe gelesen habe kann ich mir die Zeit nur geben lassen, aber nicht setzen,

Muss ich wirklich ein Now nehmen und das dann passend Adjust(en) ? kann doch nicht sein, oder?

Titel: Re: NotesDateTime
Beitrag von: DAU-in am 06.08.08 - 16:54:56
und wenn du dir ein Notesdatetime Object mit Datum und Zeit erzeugst, und dann mit TimeOnly die Zeit ziehst?

Ein Notesdatetime Object nur mit der Zeit wird nicht gehen, da dir dann ja die Infos fehlen für den Zeitvergleich, TimeDifference könnte dann ja nicht arbeiten.

was willst du denn genau erreichen?

Grüsse

Dau-in
Titel: Re: NotesDateTime
Beitrag von: koehlerbv am 06.08.08 - 17:05:05
Frage: Brauchst Du ein NotesDateTimeObject überhaupt? Meist ist das doch nur mit Kanonen auf Spatzen geschossen!

Wenn nicht:
Dim vStartTime As Variant
vStartTime = TimeNumber (6, 0, 0)

Und das ist nur EINE Variante.

Wenn Du wirklich NotesDateTime brauchst: Wie man dort eine Uhrzeit spezifisch setzt, steht dort aber auch ...

Bernhard
Titel: Re: NotesDateTime
Beitrag von: bikerboy am 06.08.08 - 17:34:14
Ja ich brauchte ein wirklich NotesDateTime Object,

habe es nun so gelöst.

Code
	strDateTime = Cstr(Now)
	strDateTime = Left(strDateTime , 11) +"06:00:0"
	Set datCurrent = New NotesDateTime(strDateTime)
Titel: Re: NotesDateTime
Beitrag von: koehlerbv am 06.08.08 - 17:50:20
Musst Du Zeitzonen manipulieren? Wenn nicht: Nenne mir den Grund für NotesDateTime.

Bernhard
Titel: Re: NotesDateTime
Beitrag von: m3 am 06.08.08 - 18:48:13
Zitat
New NotesDateTime( dateTime$ )

Parameters
dateTime$
String. The date and time you want the object to represent.

Was spricht dagegen, das mit einem beliebigen Datum sowie der gewünschten Uhrzeit zu belegen und dann mit "SetAnyDate" das Datum zu "entfernen"?

Den Hack Left eimpfinde ich als "gefährlich". Da wäre für mich zu viel Locale-Abhängigkeit drinnen.
Titel: Re: NotesDateTime
Beitrag von: koehlerbv am 06.08.08 - 20:53:25
Die String-Geschichte wie von Robert gemacht ist kreuzgefährlich, vollkommen richtig. Und deswegen ist die NotesDateTime-Klasse für mich auch unsauber und bleibt (ausser in wenigen Fällen) unbenutzt, auch weil sie völlig unnötig ist (ausser in wenigen Fällen ...).
Daher ja auch meine Frage: Wozu braucht Robert sie?

Wenn aber doch NotesDateTime: Zuweisung über ein Item oder über den Umweg mit Variant Type 7:
Set dtValue = New NotesDateTime (Cstr (TimeNumber (6, 0, 0)).

Unter diesen Bedingungen darf dann auch mal der String mitspielen, da der Server ihn OS-abhängig auch selber bilden darf.

Bernhard

PS: In rund fünf Wochen gibt es da auch einen Vortrag auf der SoftSphere (http://soft-sphere.de/Sessions.php#) und viel Gelegenheit, anschliessend Details zu klären mit einem Notes DateTime-Junkie  ;)
Titel: Re: NotesDateTime
Beitrag von: bikerboy am 07.08.08 - 09:05:21
@Bernhard

Zeitzonen muss ich nicht berücksichtigen.

Vielleicht bin auch zu Stur gewesen.

Mir ist nur wichtig, dass die Daten, die ich ins Dokument packe sauber sind. Und da diese nunmal Datums und Zeitwerte sind , dacht ich es sei besser, wenn ich die NotesDateTime-Klasse verwende.

Meinen "Hack" wie ihr es genannt habt, kann ich nachvollziehen.  Werde ich auch ändern.

Danke
Titel: Re: NotesDateTime
Beitrag von: bikerboy am 07.08.08 - 09:18:40
Wäre dieser Ansatz denn unabhängiger ? Nur für den Fall, dass ich doch mal wirklich NotesDateTime-Objecte benötige

Code
strDateTime = Cstr(Now)
varDate = Split(strDateTime," ")
strDateTime = varDate(0) +" " +Cstr (Timenumber (6, 0, 0))
Set datCurrent = New NotesDateTime(strDateTime)