tarihi

2013-01-02 36 views
5

Hızlı Bir, neden benim için çalışmayı bu kod isnt:tarihi

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 

yanlış olan nedir? Ve eğer "Bu klasörün adı" gibi klasör adlarına sahip olmak ve sonra günümüzün tarihini eklemek istiyorsam, nasıl görünmeli?

+0

Daha basit ifadeyi deneyin 'DateTime.ToString (" dd-MM-yyyy ")' - ne olur? –

cevap

17

Belki demek:

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

yanlış olan nedir?

ToString nedenle doğrudan DateTime sınıfına diyemezsin, bir örneği yöntem değildir statik biridir - DateTime sınıfının bir örneği üzerine demen gerekiyor.

Ve eğer klasör adı "Bu klasör" olarak adlandırılmak ve sonra günümüzün tarihini eklemek isterseniz, nasıl görünmelidir?

kişinin size geçerli saat örneğini örneğin verecekti DateTime sınıfın Now/UtcNow özelliğini kullanabilirsiniz

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

+1. detaylı yorumlar için. Yan not: "yyyy-MM-dd" biçimini kullanarak sıralama klasörlerini çok daha makul bir isimle yapar ... –

+0

@AlexeiLevenkov +1 bu adil bir nokta olarak geri. Yanıtı gönderdiğimde başımdaki UTC formatını düşünüyordum ama OP özellikle dd-MM-yyyy'den bahsettiğinden istediği şekilde çalışacak bir çözüm vermek istedim. Ancak, sıralama amaçları için söylediğiniz gibi UTC tarih biçimi daha iyi olurdu. – James