C# 将文本文件名写为c中的日期#

C# 将文本文件名写为c中的日期#,c#,C#,所以我四处寻找答案,我刚刚开始使用c#所以它可能很简单,但我有一段代码 private void btnAdd_Click(object sender, EventArgs e) { using (SaveFileDialog sfd = new SaveFileDialog() { Filter = "TextDocuments|*.txt", ValidateNames = true }) { if (sfd.ShowDialog() == DialogRes

所以我四处寻找答案,我刚刚开始使用c#所以它可能很简单,但我有一段代码

private void btnAdd_Click(object sender, EventArgs e)
{
    using (SaveFileDialog sfd = new SaveFileDialog() { Filter = "TextDocuments|*.txt", ValidateNames = true })
    {
        if (sfd.ShowDialog() == DialogResult.OK)
        {

            using (StreamWriter sw = new StreamWriter(sfd.FileName))
            {
                sw.WriteLineAsync(txtMessage.Text);
                MessageBox.Show("Your entry has been saved successfully!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }       
}

我想知道的是,如何在此代码中将文件名预设为日期?

将当前日期时间分配给“保存文件”对话框实例上的
DefaultFileName
属性

sfd.DefaultFileName=DateTime.Now.ToString();


您已经尝试了什么吗?将SaveFileDialog的FileName属性设置为您想要的文件名…如果是日期,则将日期格式化为文件名。如果要强制使用文件名,请删除SaveFileDialog并将streamwriter与所需的文件名一起使用,如果用户只能选择文件夹,请改用FolderBrowserDialog,否则,如果用户更改了defaultname,程序就会忽略它,这会让用户感到困惑所以我不确定是否正确,但我使用(StreamWriter sw=new StreamWriter(sfd.FileName=DateTime.Now.ToString())编辑了此代码,但它仍然不起作用,代码的其余部分仍然与原始帖子相同,我只是想知道我还应该做些什么
sfd.FileName=DateTime.Now.ToString();
    string logPath = string.Format("{0:yyyy-MM-dd}.txt", DateTime.Now); 
        Console.WriteLine("Path: " + logPath);

            using (StreamWriter file = new StreamWriter(@"./" + logPath, true))
            {
                file.Write(string.Format("{0} {1} {2} {3}", DateTime.Now, log, Environment.NewLine, bankLog));
            }
            Console.WriteLine("Logs inserted to file");