我需要创建一些名称如下的日志文件: HH:MM_DD-MM-yyyy.log
我试图转换DateTime& DateTime.Now像这样,但编译器遇到下一个错误:
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用作文件名?
答案 0 :(得分:10)
问题是:
字符,您不能在文件名中使用它
DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");
答案 1 :(得分:2)
Widows操作系统不允许在filename
中使用以下特殊字符。
/ \ : * ? " < > |
因此您需要将冒号:
替换为其他字符(_
或-
)
试试这个:
string datetime = DateTime.Now.ToString("HH_mm_dd-MM-yyyy");
答案 2 :(得分:0)
尝试删除一些您使用格式返回的字符,然后一次添加它们以查看导致问题的原因。
我的猜测可能是:导致你出问题的角色
也请查看这篇文章,这可能有所帮助。
How to remove illegal characters from path and filenames?
问候