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