Bir DateTime'a dönüştürmek için bir dizeyi ayrıştırma yapıyorum.DateTime.Parse: kültürü değiştirirken istisna
String was not recognized as a valid DateTime.
Ben ABD daha farklı bir ülkede bulunan bir bilgisayardan uygulamayı çalıştırmak yalnızca bu hatayı alıyorum: Bazı durumlarda bir hata alıyorum. Dizede gördüğüm şey 09/20/2010 14:11
ve bu durumda bir istisna alıyorum. Eğer bir değerim varsa: 10/05/2010 12:54
Bir istisna alamıyorum. Sanırım günün 20 ve bu bilgisayarın Avrupa'da olduğu gerçeği, bu yüzden o ayın 20 olduğunu düşünüyor. Sorun tr olmasını zorlamak geçerli:
CompletedDttm = DateTime.ParseExact(value, "MM/dd/yyyy hh:mm", new CultureInfo("en-US"));
ben istisna alıyorum Çünkü bu doğru bir yaklaşımdır emin varsayalım.
Bir dizeyi makinede çalıştırdığım kültürden bağımsız olarak çalışacak şekilde nasıl ayrıştırılabileceğine dair bir fikriniz var mı?
Biçimin her zaman böyle olacağını biliyorsanız, DateTime.Parse (value, CultureInfo.InvariantCulture); Tarih ve saat formatı bakımından InvariantCulture kabaca ABD'ye eşittir. BTW, bunun gibi ayrıştırırsanız, .Net saat dilimini belirleyemez ve aslında DateTime'ınızı hatalara neden olabilecek "belirtilmemiş yerel" olarak ele alır. Kaynağın UTC'de olduğunu biliyorsanız: DateTime.Parse (value, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); –