将格式化的字符串保存为c#中的文件名问题

Ern*_*nyi 1 c#

嗨伙计们,我最近才开始使用c#,所以我对它的语法还不是很熟悉,而且我遇到了一个问题.我想将当前时间写入文件名.我正在使用以下代码:

DateTime now = DateTime.now;
string dateString = string.Format(@"Z:\test\{0}.bmp",now.ToString("s"));
bitmap.Save(dateString);
Run Code Online (Sandbox Code Playgroud)

现在这给了我一个无法访问文件路径错误.显然,这事做的":"在(至少当我给一个now.ToString("d")),这样可以节省精时间的字符.有什么想法导致这个?谢谢.

Jon*_*eet 7

"s"格式将创建类似以下内容的文件名:

2009-06-15T13:45:30.bmp
Run Code Online (Sandbox Code Playgroud)

由于冒号,这不是一个有效的文件名.在调用ToString后将冒号替换为另一个字符,或使用其他格式.

请注意,"d"也不会始终有效,因为它可以在名称中包含"/",具体取决于文化.

就个人而言,我建议像"yyyyMMdd-HHmmss"这样的东西会给你类似的东西

20090615-134530.bmp
Run Code Online (Sandbox Code Playgroud)