为什么我的 C# 代码在从通用时间中减去本地时间时没有按预期运行?

问题描述 投票:0回答:1

这是我的代码:

// 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
一个是全球时差,一个是本地时差,却不能产生正确的时差?

c# timezone-offset
1个回答
0
投票

您看到的差异并不是错误。这是获取属性

DateTime.UtcNow
DateTime.Now
之间所花费的时间。证据如下:

var utcNow = DateTime.UtcNow;
var now = utcNow.ToLocalTime();
var lag = utcNow - now;
Console.Out.WriteLine(lag.ToString("c"));
© www.soinside.com 2019 - 2024. All rights reserved.