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
-
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
-
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 ("")....
-
Hallo Andreas,
man kann den String auch direkt erstellen:
---
format('Datum + Uhrzeit', "YYYYMMDDHHmmss")
---
Leo
---
-
@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
-
ups, Leo hat gesprochen...;-)
-
Ja Leo, noch simpler :) Und MZ, Du hast Recht, FORMAT gibt ja schon einen String aus... und somit auch keine Punkte und Leerzeichen..
:)
-
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
-
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
-
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
Content aside
- vor 3 JahrenZuletzt aktiv
- 9Antworten
- 887Ansichten