datetime.parse ve belirli bir biçimde çalışmasını sağlama


141

Bir XML dosyasından biçiminde geri gelen bir datetime var:

20080916 11:02

de olduğu gibi

yyyymm ss: ss

Bunu almak için datetime.parse işlevini nasıl alabilirim? Hata yapmadan ayrıştırır mıyım? Şerefe

Yanıtlar:


246
DateTime.ParseExact(input,"yyyyMMdd HH:mm",null);

dakikaların saatleri değil, saatleri takip ettiğini söylemek istediğinizi varsayarsak, örneğin biraz kafa karıştırıcıdır.

ParseExact dokümantasyon Eğer ayrıştırma otomatik Evrensel Saat ya da onun gibi bir şey dönüştürmek istiyorum durumda, diğer aşırı yükleme ayrıntıları.

@ Joel Coehoorn'un da belirttiği gibi, TryParseExact'i kullanma seçeneği de var , bu da operasyonun başarılı veya başarısız olduğunu gösteren bir Boole değeri döndürecek - hala .Net 1.1'deyim, bu yüzden genellikle bunu unutuyorum.

Diğer formatları ayrıştırmanız gerekirse, Standart DateTime Format Dizelerini kontrol edebilirsiniz .


11
DateTime.TryParseExact ()
Joel Coehoorn

Ayrıca: standart Xml'in kendine özgü bir DateTime biçimi vardır ve .Net Xml araçlarının okuyabilmesi gerekir.
Joel Coehoorn

Bu durumda son parametre ile null olarak çalışır, ancak bu CultureInfo.InvariantCulture'u bulan herkes için aksi takdirde tarih saatiniz "1823/01/01" gibi bir şeyse sorun yaşayabilirsiniz.
Todilo

@JoelCoehoorn standard XML specific DateTime format?
Kiquenet

10

Teşekkürler bahşiş için, tarihimi "20071122" ayrıştırmak için kullandım, datetimestyles eklemek gerekiyordu, hiçbirini kullanmadım ve çalıştı:

DateTime dt = DateTime.MinValue;

DateTime.TryParseExact("20071122", "yyyyMMdd", null,System.Globalization.DateTimeStyles.None, out dt);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.