我一直想知道这两个属性的工作原理到底是什么。我知道第二个是通用的,基本上不涉及时区,但是有人可以详细解释它们是如何工作的以及在什么情况下应该使用哪一个?
最佳答案
DateTime.UtcNow告诉您协调世界时(也称为格林威治标准时间)时区的日期和时间 - 基本上就像您在英国伦敦一样,但不是在夏季。 DateTime.Now给出在您当前区域中的人看来的日期和时间。
每当您向人们显示日期时,我建议使用 DateTime.Now
- 这样他们就会对他们看到的值感到满意 - 他们可以轻松地进行比较他们在 watch 或时钟上看到的内容。当您想要存储日期或将其用于以后的计算时,请使用 DateTime.UtcNow ,这样(在客户端-服务器模型中)您的计算不会因与服务器处于不同时区的客户端而混淆,或者彼此之间。
关于.net - DateTime.Now 与 DateTime.UtcNow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62151/