一部のマシンが同期されているかどうかを確認しようとしています。そのために、リモート マシンの hrSystemTime OID を文字列で読み取り、それを DateTime に変換して、ローカル マシンの時刻と比較します。これを 1 日 1 回、午前 1 時 50 分に行います。11 月 3 日の午前 1 時 50 分に、diff は 1 時間の違いを示しましたが、diff2 は違いを示しませんでした。この 1 時間の差分は、この日の午前 1:00 から午前 2:00 の間にのみ確認すると表示されます。(午前 2:00 は、DST が時間を冬の午前 1:00 に変更する時刻です)。
DateTime localTime;
DateTime remoteTime;
TimeSpan diff, diff2;
localTime = DateTime.Now;
remoteTime = Convert.ToDateTime("11/03/2013 1:50:00 AM");
diff = localTime.ToUniversalTime() - remoteTime.ToUniversalTime();
diff2 = localTime.ToLongTimeString() - remoteTime.ToLongTimeString();
これらは印刷された値です:
localTime.ToUniversalTime() = 11/03/2013 1:50:00 AM
remoteTime.ToUniversalTime() = 11/03/2013 1:50:00 AM
localTime.ToLongTimeString() = 11/02/2013 8:50:00 PM
remoteTime.ToLongTimeString() = 11/02/2013 9:50:00 PM