私はうんざりしているだけの簡単な質問です。私はタイムゾーンを変換するためにssisパッケージ内のdatarowsをループするいくつかのコードを持っており、それは行に失敗していると私は理由が分からない。C#何千もの行にタイムゾーンを変換しています。ランダムに「取得されたDateTimeが無効な時刻を表しています。
完全なエラーメッセージは、次のとおり
指定されたDateTimeは無効時間を表します。たとえば、クロックが順方向に調整されると、スキップされた期間内の任意の時刻は無効になります。
私は変換時間を行うために実行するコードは次のとおりです。
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;
コードは、最後の行(変換時間)に第二に失敗しました。 Row.UniversalTime
の値は3/27/2016 1:10:03 AM
です。どのようにこれは大丈夫ですか?変数の完全な統計は以下の通りです。私にとって奇妙なのは、ファイルの残りの部分がうまく処理され、datetimesがすべて似ているということです。なぜこのような値で無作為に爆発しているのか分かりません。何か案は?
全VAR統計:ややが暗示するエラーメッセージとして
?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
[特定のDateTime値に対してTimeZoneInfo.ConvertTimeToUtcが発生したときの例外コール](http://stackoverflow.com/questions/2416439/exception-calling-when-timezoneinfo-converttimetoutc-for-certain-datetime-values) –