0

Datum und Uhrzeit als string

Hallo zusammen

ich muß aus einem Datum Uhrzeit Feld das Datum mit Uhrzeit in einen String umwandeln

Beispiel  Wert im Feld ist:  01.06.2021  14:43

als Stringergebnis sollte folgendes stehen  20210601144300  (YYYYMMDDHHMMSS)

Das Datum Uhrzeit Feld steht aber in einer UT und muß für eine TXT Ausgabe beim betätigen einer Befehlsschaktfläche herangezogen werden.

Gruß

Andreas

9 Antworten

null
    • Kappes_Admin
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Der String kann aber auch nochmals getrennt werden zwischen Datum und Uhrzeit oder auch jede Datums und Uhrzeit Position für sich

    Für das Datum bekomme ich das hin wenn das Datum Uhrzeit feld in der gleichen Tabelle ist

    let y := year('Datum + Uhrzeit');
    let m := format(month('Datum + Uhrzeit'), "00");
    let d := format(day('Datum + Uhrzeit'), "00");

    Gruß

    Andreas

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Andreas,

     

    in die Untertabelle kommst du mit der Punkt-Navigation...

     

    let y := year(DEINEUNTERTABELLE.'Datum + Uhrzeit')

     

    Und dann baust Du dir den Text so zusammen wie du es brauchst..... du kannst es aber auch einfacher machen

     

    replacex(text(format(DEINEUNTERTABELLE.'Datum + Uhrzeit', "YYYYMMDDHHmmss")), "\W", "") 

     

    liest dir das Datumsfeld in deiner Untertabelle aus, formatiert es nach YYYMMDD usw..., macht daraus einen Text, durchsucht diesen mit replacex nach "nicht Worten" (\W) und ersetzt diese mit nichts ("")....

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Andreas,

    man kann den String auch direkt erstellen:

    ---

    format('Datum + Uhrzeit', "YYYYMMDDHHmmss")

    ---

    Leo

    ---

    • mirko3
    • vor 3 Jahren
    • Gemeldet - anzeigen

    @Tobias. Das verstehe ich nicht. Wenn er string(format('Datum + Uhrzeit', "YYYYMMDDHHmmss")) eingibt (oder text) hat er doch schon einen String, der exakt so aussieht wie sein Wunsch. Oder soll der String "20210601144300 (YYYYMMDDHHMMSS)" heißen? Mirko

    • mirko3
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ups, Leo hat gesprochen...;-)

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ja Leo, noch simpler :) Und MZ, Du hast Recht, FORMAT gibt ja schon einen String aus... und somit auch keine Punkte und Leerzeichen..

    :)

    • Kappes_Admin
    • vor 3 Jahren
    • Gemeldet - anzeigen

    wenn ich das jetzt eingebe

    let CREDAT := format(Wechseldaten.'Datum + Uhrzeit 2', "YYYYMMDD");

    kommt folgende Fehlermeldung

    Die funktion ist nicht definiert:format([timestamp],string) in Zeile 30 Spalte 67

    Spalte 67 währe das:      ;

     

    let RCVSAD := lpad("", 21, " ");
    let RCVLAD := lpad("", 70, " ");
    let CREDAT := format(Wechseldaten.'Datum + Uhrzeit 2', "YYYYMMDD");
    let CRETIM := format(Wechseldaten.'Datum + Uhrzeit 2', "HHmmss");
    let REFINT := lpad("", 14, " ");
    let REFGRP := lpad("", 14, " ");

    Gruß

    Andreas

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Andreas, 

    die Fehlermeldung sagt dass du nicht ein Feld sondern einen Array aus Feldern an der Stelle hast. Was ist Wechseldaten? Untertabelle?. Wenn du nur einen Eintrag dort hast, dann solltest du das auch dem Ninox mitteilen.

    ---

    .....

    let CREDAT := format(first(Wechseldaten).'Datum + Uhrzeit 2', "YYYYMMDD");
    let CRETIM := format(first(Wechseldaten).'Datum + Uhrzeit 2', "HHmmss");

    .....

    ---

    Leo

    • Kappes_Admin
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    ja Wechseldaten ist eine Untertabelle und ja so wie du das beschrieben hast hat es funktioniert

    Vielen Dank hier für die schnelle Unterstützung

    das macht richtig Spaß hier :-)

     

    Gruß

    Andreas