3

Mono 2.10.9 の Linux ボックスでプログラムを実行しています。log4net を使用して、Windows 7 ボックスのプログラムにログを記録します。私の Linux システム クロックは、Windows マシンと同様に現地時間に設定されています。以下を実行すると、各マシンでわずかに異なる結果が得られます。

DateTime now = DateTime.Now;
Console.WriteLine(String.Format("{0} - Kind {1}", now, now.Kind));

Windowsでは、私は得る

2013 年 5 月 28 日 8:39:09 PM - 親切なローカル

そしてLinuxでは私は得る

0/735016/0001 8:39:45 PM - 親切なローカル

Mono では変換が壊れているようですが、それはまた別の問題です。

Linux マシンから受け取ったLoggingEventオブジェクトのTimeStampフィールドには、実際にはローカル時刻ではなく UTC 時刻が含まれています。しかし、TimeStamp.KindプロパティはLocal

Windows で発生したログ イベントは実際にはローカルであるのに対し、Mono からのログ イベントは UTC であり、私には違いがわからないため、これが問題を引き起こしていますKind。離れていると、5時間離れているように見えます。

これを修正するにはどうすればよいですか?

4

1 に答える 1