Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Jenson am 14.09.04 - 17:23:25
-
Hallo,
ich hab hier eine Zieldatenbank in die ich Dokumente schreiben soll. An dieser stelle kann ich LotusScript verwenden.
Ich muss in der Zieldatenbank einen Datumswert in folgendem Format schreiben:
14.09.2004
Ich habe das per LotusScript bereits soweit lösen können, dass ich das Datum in folgendem Format eintragen kann:
14.09.2004 00:00:00 CEDT
aber hier ist eben zu viel drin. Da hier wieder andere Datenbanken die Daten abfragen muss das Format genau stimmen. Das Feld ist vom Typ Zeit/Datum.
Wie kann ich denn nur das DATUM eintragen ohne Zeitangabe. In der Formelsprache wüsste ich das, aber in LotusScript noch nicht.
Danke im Vorraus
Jenson
14.09.2004 00:00:00 CEDT
-
In der Formelsprache wüsste ich das, aber in LotusScript noch nicht.
dann einfach mit Evaluate...
Wie ist den die @Formel dafür?
Ansonsten gibt es noch
dateTime.DateOnly
liefert einen String und dann per
cdat( dateTime.DateOnly )
wieder als Datum eintragen.
Andreas
-
Bekomme ich denn von Evaluate auch die richtigen Datentypen?
Ich habe ein Datum als Text vorliegen und muss das eigentlich nur einfach in das Feld in dem Dokument eintragen. Ich zerlege es aber im Moment noch in TT, MM und JJJJ, damit da nix schief gehen kann.
Ich berechne dann daraus per:
URLDate = split(Proc.Date(0), ".")
DayDate = DateNumber ( Cint(URLDate(2) ), Cint(URLDate(1)), Cint(URLDate(0)) )
einfach das Datum. Da aber wie gesagt ist die Zeitkomponente mit dran.
Jenson
-
Na, grundsätzlich hat eine Datum/Zeit-Komponente immer eine Zeitangabe und eine Datumsangabe drin, sie lässt sich eigentlich nur unterdrücken.
Um die Sache korrekt zu konvertieren, gibst Du den gefundenen Wert in eine NotesDateTime-Instanz ein und liest dann die Eigenschaft DateOnly aus. Schau in der Hilfe unter der NotesDateTime-Class nach.
-
Nicht ganz, Jens: NotesDateTime.DateOnly liefert Text. Das kann man schlecht retour in ein ein Date/Time-Item schreiben.
AFAIK kann man mit LS tatsächlich nur ein Item erzeugen, dass lediglich das Datum erhält, indem man Evaluate über @Date laufen lässt.
Die Frage ist: Ist das Speichern so tatsächlich notwendig ? Welcher Vergleich mit DD.MM.YYYY scheitert, wenn dahinter noch HH:MM:SS steht ? Für Notes sind beide Darstellungen sowieso nur der exakt identische Wert der Datumsseriennummer ...
Bernhard
-
Du kannst den Text in LocalTime wieder eingeben
-
b'abend,
also ich habe gerade mal alles was mir an Vergleichen einfiel ausprobiert und keiner scheitert soweit ich das jetzt sehe. Ich denke mal dann werde ich das so lassen. Wir haben in der Datenbank eine Maske, um die Dokumente manuell einzugeben, und diese hat ein Datumsselektor. Der macht das irgendwie ohne Uhrzeit, aber was solls.
Danke für die Hinweise.
Jenson
-
Du kannst den Text in LocalTime wieder eingeben
vDate = CDat (dtDate.DateOnly)
doc.Datum = vDate
?
Dann hast Du wieder den Eintrag im Item: DD.MM.YYYY HH:MM:SS CEDT
Die NotesDateTime class ist hier nicht besonders hilfreich.
Bernhard