LocalTime 和 UniversalTime c# 之间的区别
Difference between LocalTime and UniversalTime c#
在最近一次关于 C# 的工作面试中,有人问了我以下问题:
- C# 中的 LocalTime 和 UniversalTime 有什么区别,什么时候应该使用它们?
查看文档后,我找到了 LocalTime 的以下定义:
The local time is equal to the Coordinated Universal Time (UTC) time
plus the UTC offset.
下一个用于通用时间:
The Coordinated Universal Time (UTC) is equal to the local time minus
the UTC offset.
所以,在我看来,UniversalTime 与 LocalTime 是相反的,但它们做同样的事情并得到相同的结果。
那么,我应该什么时候使用它们?有什么真正的区别吗?
UTC 是某个任意选择的区域(格林威治)的时间,由于地球轨道的不规则性而调整了几秒。
当地时间是地球上特定点的时间。比如UTC时间是0:00,你在开罗,你会观察到2:00,因为开罗的时区有2小时的偏移量(通常表示为"UTC+2") .
例如:
The local time is equal to the Coordinated Universal Time (UTC) time
plus the UTC offset.
当地时间为 0:00 + 2h = 2:00.
The Coordinated Universal Time (UTC) is equal to the local time minus the UTC offset.
UTC 将是 2:00 - 2h = 0:00.
在问题的上下文中,面试官可能正在寻求答案,即您将服务器端的时间始终存储为UTC,并且仅在将其显示给用户时将其转换为用户的本地时间。
顺便说一句,这不是特定于 C# 的。如果您对更多细节感兴趣,wikipedia 有很好的解释。
在最近一次关于 C# 的工作面试中,有人问了我以下问题:
- C# 中的 LocalTime 和 UniversalTime 有什么区别,什么时候应该使用它们?
查看文档后,我找到了 LocalTime 的以下定义:
The local time is equal to the Coordinated Universal Time (UTC) time plus the UTC offset.
下一个用于通用时间:
The Coordinated Universal Time (UTC) is equal to the local time minus the UTC offset.
所以,在我看来,UniversalTime 与 LocalTime 是相反的,但它们做同样的事情并得到相同的结果。
那么,我应该什么时候使用它们?有什么真正的区别吗?
UTC 是某个任意选择的区域(格林威治)的时间,由于地球轨道的不规则性而调整了几秒。
当地时间是地球上特定点的时间。比如UTC时间是0:00,你在开罗,你会观察到2:00,因为开罗的时区有2小时的偏移量(通常表示为"UTC+2") .
例如:
The local time is equal to the Coordinated Universal Time (UTC) time plus the UTC offset.
当地时间为 0:00 + 2h = 2:00.
The Coordinated Universal Time (UTC) is equal to the local time minus the UTC offset.
UTC 将是 2:00 - 2h = 0:00.
在问题的上下文中,面试官可能正在寻求答案,即您将服务器端的时间始终存储为UTC,并且仅在将其显示给用户时将其转换为用户的本地时间。
顺便说一句,这不是特定于 C# 的。如果您对更多细节感兴趣,wikipedia 有很好的解释。