German Konvertierung Zeit und Datum in String

Holger.D

New Member
Licensed User
Hallo, ich bin verzweifelt auf der Suche nach einem Stück Coding, dass mir in einem String ein Prefix, ein Datum und die Zeit speichert, das Datum im Format Jahr+Monat+Tag

Bsp: Prefix = "PR" und Datum = 31.05.08 und Zeit = 13:03

Daraus soll werden: PR + 080531 + 1303 also PR0805311303

Ich hatte dazu verschiedene Ansätze:

Dim txtVorgNr
txtVorgNr = "PR" & (DateY & DateM & DateD) & Time

oder

DateFormat ("yymmdd")
txtVorgNr = "PR" & (Date(Now)) & Time

Leider aber gibt es hier immer Fehler. Auch finde ich keinen Befehl, der ein Datum in eine Zeichenkette umwandelt.

Was geht ist die Befehlszeile: txtVorgNr = "PR" & Now

Das ist mir aber zu kryptisch

Danke für eure Hilfe ... :sign0085:
 

klaus

Expert
Licensed User
Hier eine Lösung

B4X:
Sub App_Start
   
  Form1.Show
  
  txtVorgNr=DatumZeit

End Sub

Sub DatumZeit
  Dim tx,txt
   
  tx=SubString(DateY,2,2)
  txt="PR"&tx
  
  tx=DateM
  If StrLength(tx)=1 Then  ' ergänzt mit einer 0 falls nötig
    tx="0"&tx
  End If
  txt=txt&tx

  tx=DateD
  If StrLength(tx)=1 Then
    tx="0"&tx
  End If
  txt=txt&tx

  tx=TimeH
  If StrLength(tx)=1 Then
    tx="0"&tx
  End If
  txt=txt&tx
 
  tx=TimeM
  If StrLength(tx)=1 Then
    tx="0"&tx
  End If
  txt=txt&tx

  Return txt
End Sub
Mit Besten Grüssen
 
Last edited:

specci48

Well-Known Member
Licensed User
Hallo ihr beiden,

@klaus: warum denn so kompliziert :confused: :sign0013:

Meine Lösung wäre
B4X:
DateFormat("yymmdd")
TimeFormat("HHmm")
txtVorgNr = "PR" & Date(Now) & Time(Now)

Viele Grüße

specci48
 

klaus

Expert
Licensed User
Hallo specci48

Vollkommen einverstanden !

In meiner Gegend gibt es ein Sprichwort das sagt:
Warum einfach machen wenn es auch kompliziert geht ? !

Spass beiseite, Deine Lösung gefällt mir auch besser.

Grüsse.
 

arnold steger

Member
Licensed User
Hallo, ich bekomme diesen Code irgendwie nicht hin.
Habe eine txt Datei mit mehreren Zeilen.
Ich müsste den Zeitunterschied zwischen Zeit von Zeile 1 mit der Zeit von Zeile 2 ausgeben
Beispiel:
xxx,xxx,xxx,20150723_210101,xxx,xxx,xxx,
...
xxx,xxx,xxx,20150723_220101,xxx,xxx,xxx,

Ich dachte mir in der Art es zu schaffen, hänge aber am aufsplitten

B4X:
        Dim ZeitStart,ZeitEnde,ZeitDiff As Long
        Dim ZeitTemp1()As String =Regex.Split(",",listtemp.Get(1))
            ZeitStart=DateTime.DateTimeParse(ZeitTemp1(3),ZeitTemp1(3))
        Dim ZeitTemp2()As String =Regex.Split(",",listtemp.Get(listtemp.Size-1))
            ZeitEnde=DateTime.DateTimeParse(ZeitTemp2(3),ZeitTemp2(3))
Ich bitte um eure Hilfe...
 

MaFu

Well-Known Member
Licensed User
Probier mal so:
B4X:
Dim ZeitStart,ZeitEnde,ZeitDiff As Long
DateTime.DateFormat = "yyyyMMdd"
DateTime.TimeFormat = "HHmmss"
Dim ZeitTemp1() As String = Regex.Split(",",listtemp.Get(1))
Dim DT1() As String = Regex.Split("_",ZeitTemp1(3))
ZeitStart=DateTime.DateTimeParse(DT1(0),DT1(1))
Dim ZeitTemp2() As String = Regex.Split(",",listtemp.Get(listtemp.Size-1))
Dim DT2() As String = Regex.Split("_",ZeitTemp2(3))
ZeitEnde=DateTime.DateTimeParse(DT2(0),DT2(1))
 
Top