gpt4 book ai didi

c# - DateTime.Now 与 DateTime.UtcNow 用法的区别

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:44 26 4
gpt4 key购买 nike

因为这个Question's Answer来自 hightechrider提到下面的代码块更正确

var start = DateTime.Parse("08/10/2011 23:50:31").Utc;

if(start.AddMinutes(20) > DateTime.UtcNow)

然后按 TimeSpan 的方式使用

var start = DateTime.Now;
var oldDate = DateTime.Parse("08/10/2011 23:50:31");

if(start - oldDate).TotalMinutes >= 20)

既然 DateTime 是在相同的文化中执行和解析的,那么它会有什么不同??

我感觉很Phoney通过这个答案。

最佳答案

简而言之:UTC 是一个连续的单值时间尺度,而本地时间不是连续的或单值的。主要原因是Daylight Savings Time ,不适用于 UTC。所以 UTC 永远不会向前或向后跳一个小时,而本地时间会。并且当它向后跳时,相同的时间值出现两次。

最好使用连续的单值时间尺度进行比较,除非您想自己弄乱 DST。即使您这样做了,也无法区分夏令时结束和时钟拨慢一小时时的第一个和第二个“凌晨 2 点”。

技术说明:即使 UTC 是连续的,它也会偶尔插入额外的闰秒以跟上地球自转的减慢。这些秒数通常在一天结束时添加,并以 60 秒列出。所以你会有 23:59:59、23:59:60、00:00:00。

关于c# - DateTime.Now 与 DateTime.UtcNow 用法的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7708590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com