Domino 9 und frühere Versionen > Entwicklung

Date/Time in Formelsprache

(1/3) > >>

TMC:
Ich extrahiere aus einem String ein Teilstring.

Dieses Teilstring ist wie folgt aufgebaut:

_Teilstring := "31.10.2004 16:25:16".

Quelle für dieses String ist folgendes LS: Format$(Now, "dd.mm.yyyy hh:mm:ss").
Dieser Aufbau ist 100% verlässlich.

@Date gibt ja nur ein Datum zurück, @Time nur die Uhrzeit.

Ich muss jetzt dieses Teilstring 100% zuverlässig in ein Datum+Zeit umwandeln in Formelsprache. Ziel ist die Anzeige in einer View.

Wie bekomme ich trotzdem 100% verlässlich dieses String in die View?
@TextToTime traue ich da nicht, was ist wenn es ein 10.10.2004 ist?
Via @Middle(....) kann ich die Werte des Strings sauber auslesen.

Wie kann ich diese wieder zusammensetzen? Das Ergebnis soll 1 Spalte sein (nicht 2) und sortierbar sein etc.

koehlerbv:
Matthias, ich möchte gerne helfen. Ich habe gerade eine grössere Fremdapplikation geradeziehen müssen, die sich um Datumsformate keinerlei (ernsthafte) Gedanken gemacht hat.

Ich habe aber noch ein paar Fragen:
1) Warum wird der DateTime-Wert nicht entsprechend abgespeichert ? Warum wird hier über ein Textfeld gearbeitet, wenn man dann doch wieder Date/Time haben will ?
2) Du vertraust Format$ "zu 100%". Das halte ich für gewagt.
3) Warum vertraust Du dann nicht nicht @TextToTime ?
4) Was meinst Du mit dem 10.10.2004 ?

Bernhard

TMC:
Hi Bernhard,


--- Zitat ---1) Warum wird der DateTime-Wert nicht entsprechend abgespeichert ? Warum wird hier über ein Textfeld gearbeitet, wenn man dann doch wieder Date/Time haben will ?
--- Ende Zitat ---
Es ist eine bestehende App mit einigen Doks. Es wird 1 Textfeld geschrieben mit mehreren Dingen (Username, Datum etc.).
Das Datum setzt sich so zusammen: Format$(Now, "dd.mm.yyyy hh:mm:ss"). Mittelfristig (ab nächstes Jahr) stehen größere Änderungen in der DB an. Dabei werde ich dann hier mit einzelnen Feldern arbeiten. Steht schon auf der ToDo-Liste :-)


--- Zitat ---2) Du vertraust Format$ "zu 100%". Das halte ich für gewagt.
--- Ende Zitat ---
Wirklich? Ich dachte, wenn "dd.mm.yyyy hh:mm:ss" vorgegeben wird, dass dies dann in dieser Reihenfolge aufgebaut wird - und ein Ergebnis à la mm.dd.yyyy somit ausgeschlossen werden kann.


--- Zitat ---3) Warum vertraust Du dann nicht nicht @TextToTime ?
--- Ende Zitat ---
Ich weiß nicht 100% wie das intern arbeitet. Ergibt @TextToTime(01.10.2004 05:05:05) immer den 1. Oktober? Kann da nicht auch der 10. Januar rauskommen?


--- Zitat ---4) Was meinst Du mit dem 10.10.2004 ?
--- Ende Zitat ---
Sorry, das war ein Tippfehler  ;) Sollte 01.10.2004 sein (siehe Antwort auf Frage 3).


Danke!

Matthias

Glombi:
Wie ein Date/Time Wert interpretiert wird, hängt von der BS Einstellung ab, die zur Laufzeit gilt.
D.h.
ein @TextToTime(01.10.2004 05:05:05) kann beides ergeben: 1. Oktober oder 10. Januar.

Effekte gibt es oft, wenn sowas in servergestützten Agenten oder Ansichten verwendet wird und der Server eine andere BS Einstellung hat.

Andreas

koehlerbv:
Wenn Du wirklich sicher Deinen Datumsstring aufbauen kannst (mir ist noch nicht ganz klar, wie dort die Eingabe erfolgt), dann kannst Du @Date mit @Adjust verknüpfen:

datetimevar := @Adjust (@Date (YYYY; MM; DD); hh; mm; ss)

So bist Du auf jeden Fall unabhängig vom BS.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln