Şaşkın olduğum için hızlı bir soru. Zaman dilimlerini dönüştürmek için bir ssis paketindeki veri zarfları arasında dolaşan bazı kodlar var ve bir satırda başarısız oluyor ve neden hiçbir fikrim yok.C# binlerce satırda bir dönüşüm zaman dilimi yapıyor. Rastgele "Sağlanan DateTime geçersiz bir süreyi temsil ediyor."
tam hata iletisi:
sağlanan DateTime geçersiz süreyi temsil eder. Örneğin, saat ileriye ayarlandığında, atlanan dönemde herhangi bir zaman geçersizdir. Ben dönüştürme zamanı yapmak koşmak
kodudur:
DateTime easternstandardtime = Row.UniversalTime;
TimeZoneInfo timeZoneGMT = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
TimeZoneInfo timeZoneEST = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
easternstandardtime = TimeZoneInfo.ConvertTime(Row.UniversalTime, timeZoneGMT, timeZoneEST);
Row.StandardEasternTime = easternstandardtime;
kod son satırı (dönüştürmek saat) 2. ve üzerinde başarısız olur. Row.UniversalTime
değeri 3/27/2016 1:10:03 AM
'dur. Bu nasıl değil mi? Değişkenin tam istatistikleri aşağıdadır. Bana garip olan şey, dosyanın geri kalanının iyi işlenmiş olması ve tarihlerin hepsinin birbirine benzemesi. Bunun neden böyle bir değerle rastgele üflendiğinden emin değilsiniz. Herhangi bir fikir?
Tam var istatistikleri: biraz ima hata mesajı olarak
?Row.UniversalTime
{3/27/2016 1:10:03 AM}
Date: {3/27/2016 12:00:00 AM}
Day: 27
DayOfWeek: Sunday
DayOfYear: 87
Hour: 1
Kind: Unspecified
Millisecond: 0
Minute: 10
Month: 3
Second: 3
Ticks: 635946378030000000
TimeOfDay: {01:10:03}
Year: 2016
olası çift [durum arama zaman TimeZoneInfo.ConvertTimeToUtc belirli DateTime değerleri] (http://stackoverflow.com/questions/2416439/exception-calling-when-timezoneinfo-converttimetoutc-for-certain-datetime-values) –