DateTime作为文件名

时间:2014-03-09 15:42:49

标签: c# datetime time

我需要创建一些名称如下的日志文件: 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用作文件名?

3 个答案:

答案 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?

问候