Har*_*aid 1 .net c# datetime datediff utc
正如本问题的来自hightechrider 的回答提到下面的代码块更为正确
var start = DateTime.Parse("08/10/2011 23:50:31").Utc;
if(start.AddMinutes(20) > DateTime.UtcNow)
Run Code Online (Sandbox Code Playgroud)
然后由TimeSpan使用
var start = DateTime.Now;
var oldDate = DateTime.Parse("08/10/2011 23:50:31");
if(start - oldDate).TotalMinutes >= 20)
Run Code Online (Sandbox Code Playgroud)
这里既然DateTime执行并在同一文化中解析,那么它将如何产生差异?
我感觉很假的这个答案.
美国在 2011 年 11 月 6 日凌晨 2 点从夏令时转换为标准时间。如果在凌晨 2 点 10 分,我问过去凌晨 1 点 50 分有多远,.NET 会告诉我 20 分钟。事实上,这是一个小时零 20 分钟,因为我们在凌晨 2 点将时钟拨回了一个小时。如果我使用 UTC,我就不会遇到这些问题 - 像 .NET Framework 这样的库具有正确处理此类不连续性所需的所有逻辑。
整个夏令时计划一团糟,对于像您这样的国家(明智地)没有实施它的任何人来说,都很难理解出现的问题。当政府开始改变转换日期时,它变得更加有趣。