尝试在写入文件时将日期包含在文件名中。
DateTime todaysDate = DateTime.Now;
string destFile = System.IO.Path.Combine(targetPath + todaysDate.ToShortDateString() + ".dat");
错误:
Could not find a part of the path 'C:\Users\John\Desktop\Sales\Import11/02/2014.dat'.
可以将日期更改为_分隔?或任何其他建议来解决这个问题? TA
答案 0 :(得分:4)
最好以您知道不会与文件路径冲突的方式格式化日期,下划线_
或-
或根本没有分隔符是更好的选择
string destFile = Path.Combine(targetPath,
String.Format("{0}.dat", todaysDate.ToString("dd-MM-yyyy")));
答案 1 :(得分:1)
您需要格式化日期,使其没有非法或不需要的字符。
System.IO.Path.Combine(targetPath + todaysDate.ToString("yyyy.MM.dd_HHmmss") + ".dat");
Here is a list of all of the format options for Date and Time.
答案 2 :(得分:0)
尝试使用其他分隔符,例如下划线_
todaysDate.ToString("dd_MM_yyyy_HH_mm_ss");
/
不是文件路径的有效字符。您可以使用各种其他字符,只要它们对于文件路径不是非法的。
此MSDN参考应该有所帮助。
http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
答案 3 :(得分:0)
使用此:
DateTime todaysDate = DateTime.Now;
string destFile = string.Format("{0}{1:yyyy_MM_dd}.dat" , targetPath, todaysDate);
答案 4 :(得分:0)
你可以试试这个:
var title = String.Format("NameOfYOuWant {0}.log", DateTime.Today.ToShortDateString().Replace('/', '-'))
答案 5 :(得分:0)
我建议:
/
和:
执行)类似于:
string name = string.Format(CultureInfo.InvariantCulture,
"Import-{0:yyyy-MM-dd}.dat",
DateTime.Today);
// Assuming that targetPath is the directory; it's slightly unclear.
string path = Path.Combine(targetPath, name);
注意:
Today
,您正在使用系统本地时区。这可能就是你想要的,但你需要明确地考虑它。