C# 在日期中显示下划线,而不是破折号-

C# 在日期中显示下划线,而不是破折号-,c#,C#,我正在用字符串值加上日期保存文件名,如下所示: var fileName = String.Format("{0}_{1}.zip", "fileName", DateTime.Now.ToString("yyyy-MM-dd")); 上面这行给了我: fileName_2015-11-24.zip 我有没有可能得到fileName\u 2015\u 11\u 24.zip 实际上我已经试过使用DateTime.Now.ToString(“yyyy\u MM\u dd”),但我忘了在我的问题

我正在用字符串值加上日期保存文件名,如下所示:

var fileName = String.Format("{0}_{1}.zip", "fileName", DateTime.Now.ToString("yyyy-MM-dd"));
上面这行给了我:

fileName_2015-11-24.zip
我有没有可能得到
fileName\u 2015\u 11\u 24.zip

实际上我已经试过使用
DateTime.Now.ToString(“yyyy\u MM\u dd”)
,但我忘了在我的问题中提到

一种可能是用下划线替换虚线
-
,但是否有其他解决方案


谢谢

只需将
-
替换为

var fileName = String.Format("fileName_{0}.zip", DateTime.Now.ToString("yyyy_MM_dd"));

您是否尝试过在日期格式字符串中使用下划线

DateTime.Now.ToString("yyyy_MM_dd")
这个怎么样

String.Format("{0}_{1:yyyy_MM_dd}", "filename", DateTime.Now);

澄清:您可以在String.format本身中使用DateTime格式参数。

您可以在对String.format的调用中为每个值提供格式参数。只需在冒号后面添加自定义格式字符串(
),如下所示:

var fileName = String.Format("fileName_{0:yyyy_MM_dd}.zip", DateTime.Now);

String.Format(“fileName{0}.zip”,DateTime.Now.ToString(“yyyy\u MM\u dd”)
String.Format(“{0}{1:yyyy\u MM\u dd}.zip”,文件名,DateTime.Now)
您想用文件名中的
-
替换
-
,但不想用
-
替换
-
。似乎合法:)清楚地表明你没有尝试过任何东西。在这样的声誉水平上,这是一个令人惊讶的问题。
ToString(“yyyy\u MM\u dd”)
以什么方式不起作用?@Richard我使用了这个
ToString(“yyy\u MM\u dd”)
,但我仍然看到了文件名中的
-
。这就是我提出问题的主要原因。如果文件名中有破折号,则必须将其替换为下划线。日期格式将格式化日期。。。不是“文件名”。