2010-02-02 24 views

cevap

53

DateTime.ParseExact() öğesini kullanın. Böyle bir şey: .NET 2.0 veya daha iyi olup olmadığını "yyyyMMdd" bir desen dize ile

string date = "20100102"; 
    DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture); 
+0

@Dynami bir kez daha deneyin, sadece uygun formatla (vaka konuları) düzenledim –

+2

Luke'un çözümüne göre, iyi bir tarih formatı 'yyyyMMdd' olmalı, başka bir deyişle, 'string geçerli bir tarih olarak tanınmadı' – Sreedhar

11
DateTime.TryParseExact(myDateString, "yyyyMMdd", 
         CultureInfo.InvariantCulture, 
         DateTimeStyles.None, out myDateVar) 
+2

ben bu yöntemi kullandı: o değil eğer başarılı yanlış ise yerine doğru döndürür. Olmadığında bir varsayılan belirledim. –

3
DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null); 
3

TryParseExact kullanımı, dönüştürme başarısız olursa bir istisna alamayacağından genellikle ParseExact'tan daha iyidir. benim TryParseExact dönüş değerini kontrol ve tarih düzgün dönüştürülen olmadığını bilmek izin beri

DateTime dt; 
if (DateTime.TryParseExact("20100202", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) 
{ 
    Console.WriteLine(dt.ToString()); 
} 
İlgili konular