Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: LordMonster am 02.06.15 - 08:42:51

Titel: Formel Datum + Zeit ohne Punkt
Beitrag von: LordMonster am 02.06.15 - 08:42:51
Hallo zusammen,

ich brauch mal wieder eure Hilfe.
Ich habe eine kleine Datenbank programmiert und mochte noch eine eindeutige Nummer haben.
Die Nummer soll sich aus dem Erstellungsdatum und der Uhrzeit inkl. Sekunden zusammensetzen.
Leider bekomme ich die Formel nicht zusammen und der Punkt im Datum soll auch nicht sein.
Kann mir einer bitte die richtige Formel zusammenstellen?
Hier ist mein missglückter Versuch.  :-[ Danke


@Text(@Created ;"T0S1"); ThreadSort + " " + @Text(@Year(@Created); "G") + @Text(@Created; "D2S0");
Titel: Re: Formel Datum + Zeit ohne Punkt
Beitrag von: Driri am 02.06.15 - 09:14:45
Die Formel verstehe ich nicht, zumal das zwei Formeln sind. Was genau für einen String willst Du denn haben ? Du schreibst "Erstelldatum", gibst dann aber nur das Jahr aus.

Wenn Du einfach nur Datum + Uhrzeit als Ziffern und ohne Sonderzeichen dazwischen haben möchtest, wöre das z.B. eine Möglichkeit:

Zitat
Formel:
@ReplaceSubstring(@Text(@Created; "G"); ".":":":" "; "":"":"")

Ergebnis:
02062015091241

Wenn allerdings auch für eine Sortierung genutzt werden soll (klingt so wg. ThreadSort), wäre es sinnvoller die Reihenfolge von Tag, Monat und Jahr zu vertauschen (Jahr-Monat-Tag-Uhrzeit). Dann müßtest Du die drei Datumsteile (@Year, @Month, @Day) einzeln errechnen und mit der Uhrzeit in der richtigen Reihenfolge verketten.
Titel: Re: Formel Datum + Zeit ohne Punkt
Beitrag von: Tode am 02.06.15 - 09:19:53
Üblicherweise verwendet man für die eindeutige Nummer @Unique, denn das ist wesentlich sicherer als Dein Konstrukt (es ist durchaus möglich, dass zwei User in der selben Sekunde auf den Speichern- Button drücken).

Aber trotzdem:
Einfach:
Code
@ReplaceSubstring( @Text( @Now ; "D0T0" ) ; "." : ":" : " " ; "" );

Besser (weil sauber sortierbar):
Code
@Text( @Year( @Now ) ) + @Right( "00" + @Text( @Month( @Now ) ) ; 2 ) + @Right( "00" + @Text( @Day( @Now ) ) ; 2 ) + @ReplaceSubstring( @Text( @Now ; "S1T0" ) ; ":" ; "" )

EDIT: Da sieht man mal: Wenn zwei das gleiche tun, kommt doch manchmal auch das selbe bei raus...
Titel: Re: Formel Datum + Zeit ohne Punkt
Beitrag von: Driri am 02.06.15 - 11:23:14
Tja, vielleicht führt doch nur ein Weg nach Rom  ;)

Und Du hast ja auch direkt noch die bessere Variante mitgeliefert, dafür war ich zu faul  :-[
Titel: Re: Formel Datum + Zeit ohne Punkt
Beitrag von: koehlerbv am 02.06.15 - 12:10:45
Tja, vielleicht führt doch nur ein Weg nach Rom  ;)

Nö  ;D
Titel: Re: Formel Datum + Zeit ohne Punkt
Beitrag von: LordMonster am 03.06.15 - 08:57:58
Hey super danke. Ihr könnt halt alles :-)
Titel: Re: Formel Datum + Zeit ohne Punkt
Beitrag von: cebolina am 03.06.15 - 09:30:56
Üblicherweise verwendet man für die eindeutige Nummer @Unique ...

hier wird übrigens beschrieben, wie man @Unique verwenden kann, um das Ergebnis auch (nach Datum) zu sortieren:
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/sequential-numbering.htm

Code
_tmp := @Unique;
@Right(_tmp; "-") + "-" + @Left(_tmp; "-")

Gruß Stefan