LocalTime和UniversalTime c#之间的区别

时间:2015-01-30 12:58:51

标签: c# asp.net .net time localtime

在最近一次有关C#的求职面试中,有人问我以下问题:

  • c#中LocalTime和UniversalTime之间的区别是什么?我应该何时使用它们?

在检查文档后,我找到了LocalTime的下一个定义:

  

本地时间等于协调世界时(UTC)时间   加上UTC偏移。

以下是UniversalTime:

  

协调世界时(UTC)等于当地时间减去   UTC偏移。

所以,就我看来,UniversalTime与LocalTime相反,但它们都做同样的事情并得到相同的结果。

那么,我应该何时使用每一个?有什么真正的区别吗?

1 个答案:

答案 0 :(得分:7)

UTC是在一些任意选择的区域(格林威治)的时间,由于地球轨道不规则而调整了几秒钟。

当地时间是地球上特定时间的时间。例如,如果UTC时间是0:00并且您在开罗,您将观察到2:00,因为开罗的时区有2小时的偏移(通常表示为" UTC + 2" )。

对于那个例子:

  

本地时间等于协调世界时(UTC)时间   加上UTC偏移。

当地时间为0:00 + 2h = 2:00。

  

协调世界时(UTC)等于本地时间减去UTC偏移量。

UTC将是2:00 - 2h = 0:00。

在问题的背景下,面试官可能正在寻求一个答案,你将服务器端的时间始终作为UTC存储,并且只在将其显示给用户时将其转换为用户的本地时间。

这顺便说一下并不是特定于C#。如果您对更多详细信息感兴趣,wikipedia有一个非常好的解释。