Powershell: Datumteilstring mit 6 Stellen (mit Bindestrichen dazwischen 8 Stellen) gegen Datumteilstring mit 8 Stellen ersetzen
Hallo,
ich habe einen String, der beinhaltet ein Datum in der Form YYYY-MM.DD, allerdings ist bei Monat und Tag keine führende Null vorhanden, sodass der Teilstring von 6 bist 8 Stellen umfasst.
Wie kann ich diesen Teilstring einheitlich in einen 8 Zeichen Teilstring mit führenden Nullen bei Monat und Tag ersetzen in der Form YYYY-MM-DD oder noch besser YYYYMMDD ?
ich habe einen String, der beinhaltet ein Datum in der Form YYYY-MM.DD, allerdings ist bei Monat und Tag keine führende Null vorhanden, sodass der Teilstring von 6 bist 8 Stellen umfasst.
Wie kann ich diesen Teilstring einheitlich in einen 8 Zeichen Teilstring mit führenden Nullen bei Monat und Tag ersetzen in der Form YYYY-MM-DD oder noch besser YYYYMMDD ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 368775
Url: https://administrator.de/contentid/368775
Ausgedruckt am: 23.11.2024 um 10:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
Welches OS?
Gruß,
Peter
Welches OS?
der beinhaltet ein Datum in der Form YYYY-MM.DD, allerdings ist bei Monat und Tag keine führende Null vorhanden, sodass der Teilstring von 6 bist 8 Stellen umfasst.
Wo genau kommt das Datum her?Wie kann ich diesen Teilstring einheitlich in einen 8 Zeichen Teilstring mit führenden Nullen bei Monat und Tag ersetzen in der Form YYYY-MM-DD oder noch besser YYYYMMDD ?
Wenn dein uns unbekanntes OS und die Quelle deines Datums es nicht hergibt, wirst du selbst das Datum teilen müssen um dann zu schauen ob Monat und Tag ohne führende Null sind. Das kannst du per Länge machen oder per Wert z.B. Wenn Len(Monat) <= 9 dann Mon="0" + Mon oder halt Wenn Mon >= 9 dann Mon = "0" + Mon.Gruß,
Peter
Hallo,
Gruß,
Peter
Zitat von @slauf82:
Wie kann ich diesen Teilstring einheitlich in einen 8 Zeichen Teilstring mit führenden Nullen bei Monat und Tag ersetzen in der Form YYYY-MM-DD oder noch besser YYYYMMDD ?
Warum nicht mal ein get-help get-date -examples eingetippelt und dir dann das "Beispiel 3" mal angeschaut?Wie kann ich diesen Teilstring einheitlich in einen 8 Zeichen Teilstring mit führenden Nullen bei Monat und Tag ersetzen in der Form YYYY-MM-DD oder noch besser YYYYMMDD ?
get-date -uformat "%Y%m%d"
Peter
war mir gar nicht bewusst, dass die Powershell da Unterschiede macht...
und wenn er es sich ausgedacht hat ... was spielt das für eine Rolle?
muss er nicht, wie du vielleicht selbst schon festgestellt hast. Die Lösung von @NetzwerkDude und @erikro ist schon richtig. Darüber hinaus, wäre ein Regex wesentlich eleganter, wie ein Fehleranfälliger Versuch über Längen etc.
PS: Len gibt es nicht in der Powershell. Sage nur .length
der beinhaltet ein Datum in der Form YYYY-MM.DD, allerdings ist bei Monat und Tag keine führende Null vorhanden, sodass der Teilstring von 6 bist 8 Stellen umfasst.
Wo genau kommt das Datum her?Wie kann ich diesen Teilstring einheitlich in einen 8 Zeichen Teilstring mit führenden Nullen bei Monat und Tag ersetzen in der Form YYYY-MM-DD oder noch besser YYYYMMDD ?
Wenn dein uns unbekanntes OS und die Quelle deines Datums es nicht hergibt, wirst du selbst das Datum teilen müssen um dann zu schauen ob Monat und Tag ohne führende Null sind. Das kannst du per Länge machen oder per Wert z.B. Wenn Len(Monat) <= 9 dann Mon="0" + Mon oder halt Wenn Mon >= 9 dann Mon = "0" + Mon.PS: Len gibt es nicht in der Powershell. Sage nur .length