c#-根据时间保存文件名

我正在制作一个基本程序,当涉及到保存数据时,我试图将其放入.txt文件中-效果很好.问题是,除了日期之外,我无法保存秒数/小时,因此我的解决方案是仅获取日期,然后分别在最新文件上放置1、2、3.我编写的代码是:

static string FileName()
{
    string fileName = "";
    char last = ' ';
    int lastDigit = 0;
    string lastDigitString = "";
    string directory = Directory.GetCurrentDirectory(); 
    if (File.Exists(DateTime.Now.Date.ToString("dd-MM-yy" + "1") + ".txt"))
    {
        fileName = Path.GetFileNameWithoutExtension(newFileName + ".txt");
        last = fileName[fileName.Length - 1];
        lastDigit = int.Parse(last.ToString());
        lastDigit = lastDigit + 1;
        lastDigitString = lastDigit.ToString();
        newFileName = fileName + lastDigitString;
    }
    else
    {
        newFileName = DateTime.Now.Date.ToString("dd-MM-yy" + "1");
    }

    return fileName;
}

在顶部将newFileName定义为全局变量.

public static string newFileName = DateTime.Now.Date.ToString("dd-MM-yy" + "1");

我一直在搞弄一些可能不合时宜的事情.我的解决方案是获取文件名,然后删除.txt-这将使我只剩下名字的最后一位,然后将其增加一个,然后将其添加到新文件的末尾名称.我希望得到的是“ FileName1”,然后是“ FileName12”,但是一旦到达,它将继续添加到“ FileName12”,这显然是从追加设置为true的,但是我希望使用“ FileName123”.

解决方法:

是否有要求不要使用小时/分钟/秒作为文件名?
您正在使用DateTime.Now.Date.ToString(..),它将删除小时/分钟/秒的数据.您可以使用DateTime.Now.ToString(..)保留子日期数据.

您需要提供自己的格式字符串以生成文件名友好的输出.

上一篇:使用PHP ftp_get()检索带有通配符文件名的文件


下一篇:vs2015 无法启动IIS Express Web服务器