2013-01-02 58 views
5

快一个,为什么这个代码心不是为我工作:日期为文件夹名称

Directory.CreateDirectory(DateTime.ToString("dd-MM-yyyy")); 

Erorr:

Error 1 An object reference is required for the non-static field, method, or property 'System.DateTime.ToString(string)' Documents\Visual Studio 2008\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 83 39 WindowsFormsApplication1 

有什么不对?如果我想将文件夹名称命名为“This is folder of”,然后添加今天的日期,它应该如何显示?

+0

尝试简单的表达式'DateTime.ToString(“dd-MM-yyyy”)' - 会发生什么? –

回答

17

也许你的意思是:

Directory.CreateDirectory(DateTime.Now.ToString("dd-MM-yyyy")); 
4
Directory.CreateDirectory(DateTime.Now.ToString("dd-MM-yyyy")); 
4

有什么不对?

ToString实例方法不是静态的,所以你不能把它直接DateTime类 - 你需要调用它的DateTime类的一个实例

如果我想将文件夹名称命名为“This is folder of”,然后添加今天的日期,它应该如何显示?

可以使用DateTime类的Now/UtcNow属性,它会给你如当前时间点

DateTime.UtcNow.ToString("dd-MM-yyyy"); 
+2

+1。详细意见。附注:使用“yyyy-MM-dd”格式可以按名称排序文件夹更合理... –

+0

@AlexeiLevenkov +1回来,因为这是一个公平的点。当我发布答案时,我在想我的UTC格式,但是因为OP已经特别提到了'dd-MM-yyyy',我想给出一个能以他们想要的方式工作的解决方案。然而,正如你所说的排序目的UTC日期格式会更好。 – James