DateTime作为文件名

本文关键字:文件名 DateTime | 更新日期: 2023-09-27 17:49:21

我需要创建一些日志文件,文件名如下:HH: mm_dd-MM-yyyy.log

我已经尝试转换日期时间&DateTime。现在像这样,但是编译器遇到下一个错误:

The given path's format is not supported.

我试过的代码:

#1
var currentDateTime = DateTime.Now;
string format = "HH:mm_dd-MM-yyyy";
string datetime = currentDateTime.ToString(format);
File.Create("Log/GameLog/"+datetime+".log");
#2
string datetime = DateTime.Now.ToString("HH:mm_dd-MM-yyyy");
File.Create("Log/GameLog/"+datetime+".log");

在这两种情况下,编译器会抛出相同的错误…所以最后,我的问题是,我如何使用日期时间作为文件名?

DateTime作为文件名

问题是:字符,你不能在文件名

中使用它
DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");

寡妇操作系统不允许以下特殊字符在filename

/ ' : * ? " < > |

所以你需要用其他字符替换冒号: (_-)

试试这个:

string datetime = DateTime.Now.ToString("HH_mm_dd-MM-yyyy");

尝试删除格式返回的一些字符,然后每次添加它们,以查看导致问题的原因。

我猜可能是:字符引起了你的问题

也看看这篇文章,可能会有所帮助。

如何从路径和文件名中删除非法字符?