C# 将文本文件名写为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
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");