C# 使用当前日期创建文件名

C# 使用当前日期创建文件名,c#,datetime,directory,C#,Datetime,Directory,在我的C#Windows窗体应用程序中,我有日志数据。我把它们保存在一个文本文件中, 但是我想用当前日期/时间的一些描述来命名这个文件。但在调试代码时,我遇到了以下错误: 不支持给定路径的格式 这是我的密码: string dateAndTime = " '' " + DateTime.Now.ToShortDateString() + "-" + DateTime.Now.ToShortTimeString() + " '' "; string sPath =

在我的C#Windows窗体应用程序中,我有日志数据。我把它们保存在一个文本文件中, 但是我想用当前日期/时间的一些描述来命名这个文件。但在调试代码时,我遇到了以下错误:

不支持给定路径的格式

这是我的密码:

        string dateAndTime = " '' " + DateTime.Now.ToShortDateString() + "-" + DateTime.Now.ToShortTimeString() + " '' ";
        string sPath = @"C:/Desktop/Logs - "+ dateAndTime + ".txt";
        int type = 0;
        using (StreamWriter sw = File.CreateText(sPath))
        {
            int J = 0;
            for (int i = 0; i < logsList.Count; i++)
            {
                if (logsList[i + 3] == "IN")
                {
                    type = 3;
                }
                else if (logsList[i + 3] == "OUT")
                {
                    type = 4;
                }

                sw.WriteLine(logsList[i] + "          " + logsList[i + 1] + "       " + logsList[i + 2] + "     " + logsList[i + 3] + "     " + logsList[i + 4]);
                i += 4;
            }
        }
string dateAndTime=“”””+DateTime.Now.ToSortDateString()+“-”+DateTime.Now.ToSortTimeString()+“”;
字符串sPath=@“C:/Desktop/Logs-“+dateAndTime+”.txt”;
int类型=0;
使用(StreamWriter sw=File.CreateText(sPath))
{
int J=0;
for(int i=0;i
对于没有斜杠的格式使用此选项

DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");

ToSortDateString使用当前语言,这将导致不同的结果,具体取决于代码执行的机器

如果文件名格式错误,操作系统将不支持这种文件名格式

即:您的文件名包含
/
,这是操作系统不支持命名文件的特殊字符

这就是为什么你会说

不支持给定路径的格式

另外,我建议您不要使用像这样的特殊字符
”
''”
。那里不需要它

如果希望使用这种文件名格式,请使用以下代码
C:/Desktop/Logs-7-1-2015-3-45 PM.txt

有效文件名的示例代码:


具体路径是什么?string sPath=@“C:\Users\Ziad.Mansour\Desktop\Logs-”+DeviceID.ToString()+dateAndTime+“.txt”;
string dateAndTime = DateTime.Now.ToShortDateString() + "-" + DateTime.Now.ToShortTimeString();
dateAndTime = dateAndTime.Replace('/', '-');
dateAndTime = dateAndTime.Replace(':', '-');