我有一个用 C# 编写的简单 ftp 服务器。但我在创建文件夹和文件名时遇到问题。如果文件夹或文件的创建日期大于 180 天,则文件夹或文件名创建正确。
示例:
test4591(要创建的名称)-> 12 月 7 日 22:46 test4591(创建的名称)
这是我的代码
IEnumerable<string> directories = Directory.EnumerateDirectories(pathname);
foreach (string dir in directories)
{
DateTime editDate = Directory.GetLastWriteTime(dir);
string date = editDate < now.Subtract(TimeSpan.FromDays(180)) ?
editDate.ToString("MMM dd yyyy", CultureInfo.InvariantCulture) :
editDate.ToString("MMM dd HH:mm", CultureInfo.InvariantCulture);
dataWriter.Write("drwxr-xr-x 2 2003 2003 4096 ");
dataWriter.Write(date);
dataWriter.Write(' ');
dataWriter.WriteLine(Path.GetFileName(dir));
dataWriter.Flush();
}
您可以使用此示例来了解我如何在文件夹上设置日期。希望它是你在寻找什么。 附:您不需要转换为字符串。下次请更清楚地说明你想要实现什么目标。 (文件夹或文件名已正确创建 - 您的意思是正确的吗?)
void Main()
{
DateTime editDate = Directory.GetLastWriteTime("C:\\1");
var setTime = DateTime.Now;
if (DateTime.Now.Subtract(editDate).Days >= 180)
{
Directory.SetLastWriteTime("c:\\1", setTime);
}
else
{
Directory.SetLastWriteTime("c:\\1", DateTime.Now.AddDays(-10));
}
Console.WriteLine(Directory.GetLastWriteTime("c:\\1"));
}