ログファイルにタイムスタンプを付ける目的で呼び出しているときに DateTime.Now が間違った時刻を返すという奇妙な問題が発生しています。問題のコードは次のとおりです。
string logDate = DateTime.Now.ToShortDateString();
string logTime = DateTime.Now.ToString("HH:MM:ss");
string wLine = "[" + logDate + " " + logTime + "] " + line;
Console.WriteLine(wLine);
「line」変数は、その特定のメソッドに渡される文字列です。日付は問題なく、logTime 変数内の時刻は本来より 20 分遅れています。このアプリケーションを実行しているマシンの時計は正しく、書き込み先のテキスト ファイルを削除すると、アプリを再度実行するとすぐに再作成され、ファイル自体の作成/変更されたスタンプは正確です。
ファイルシステムがファイルの時刻を正しく報告していることを考えると、DateTime.Now が 20 分遅い理由について困惑しています。また、一度に 1 時間しか移動しないため、DST の問題ではないと確信しています。
他の誰かがこの問題を見たことがありますか、または少なくとも私を正しい方向に向けることができますか?
ティア