这是我的代码:
// I expect lag to be very close to 0
var lag = DateTime.UtcNow - DateTime.Now;
Console.Out.WriteLine(lag.ToString("c"));
输出是
-01:00:00.0000281
。
为什么
lag
一个是全球时差,一个是本地时差,却不能产生正确的时差?
您看到的差异并不是错误。这是获取属性
DateTime.UtcNow
和 DateTime.Now
之间所花费的时间。证据如下:
var utcNow = DateTime.UtcNow;
var now = utcNow.ToLocalTime();
var lag = utcNow - now;
Console.Out.WriteLine(lag.ToString("c"));