C# bir DateTime
nesnesine aşağıdaki String
ayrıştırmak çalışılıyor:DateTime.ParseExact hiç çalışmıyor, neden?
DateTime.ParseExact("20101108 230125", "yyyyMMdd hhmmss", null)
değeri ParseExact
yöntem sadece aşağıdaki veriyor Sayfa doğru görünüyorsa rağmen:
dize olarak tanınmadı geçerli bir DateTime.
Herhangi biri bana neden ve yukarıdaki dizeyi manuel olarak yapmak zorunda kalmadan nasıl ayrıştırabileceğimi söyleyebilir mi? Bu tür durumlar için ParseExact
olması gerekmiyor mu?
Bu neden bir istisna oluşturuyor? Şahsen hh'yi bir istisna atmak yerine 23'e dönüştürmesini beklerdim. ParseExact neden olur? –
@Marcus: 'ParseExact', yazdığı şeyi yapacak; Belirtilen * tam * biçimini kullanarak dizeyi ayrıştırın. Saat, bu konumda 12 saatlik bir saat süresinin beklendiğini söyleyeceğinden, '23' açıkça kabul edilebilir değerlerin aralığının dışında kalır. Tam dizeyi ayrıştırır, hiçbir dönüşüm yapılmaz. Yani evet, istisna 'ParseExact' yöntemi tarafından atılır. –
Genişletilmiş açıklama için alkışlar. :) –