Dateinamen mit Datum/Uhrzeit in C# erstellen

English Deutsch

Beim Datenlogging müssen Sie oft eine neue Protokolldatei erstellen, sobald Sie mit der Protokollierung beginnen.

In den meisten Fällen ist es praktisch, das aktuelle Datum und die Uhrzeit in die Protokolldatei aufzunehmen. So können Sie das in C# tun, ohne externe Bibliotheken zu verwenden:

create-filename.cs
string filename = String.Format("Temperature logging {0}.csv",
                                DateTime.UtcNow.ToString("yyyy-MM-dd HH-mm-ss"));

Dies erstellt Dateinamen wie

example-filenames.txt
Temperature log 2020-06-17 22-37-41.csv
Temperature log 2019-12-31 00-15-55.csv

Beachten Sie, dass Sie, wenn Sie ein anderes Datums-/Uhrzeitformat verwenden, Sonderzeichen vermeiden müssen, die nicht in Dateinamen vorkommen dürfen. Die Regeln für korrekte Dateinamen sind unter Linux viel einfacher als unter Windows, aber da Sie mit beiden Betriebssystemen kompatibel sein sollten, sollten Sie immer die Windows-Regeln prüfen.

Diese Zeichen sind für Windows-Dateinamen verboten:

forbidden-windows-filename-chars.txt
<>:"/\|?*

Das oben verwendete Datums-/Uhrzeitformat yyyy-MM-dd HH-mm-ss wurde speziell entwickelt, um Doppelpunkte in ISO-8601-ähnlichen Datums-/Uhrzeitformaten wie 2020-04-02 11:45:33 zu vermeiden, da Doppelpunkte in Windows-Dateinamen unzulässig wären. yyyy-MM-dd HH-mm-ss enthält nur Leerzeichen und Minuszeichen (-), um Probleme zu vermeiden, jetzt und in Zukunft.


Check out similar posts by category: C#