LocalTime和UniversalTime c#之间的区别

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

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

检查文档后,我找到了LocalTime的相应定义:

The local time is equal to the Coordinated Universal Time (UTC) time
plus the UTC offset.

以下是UniversalTime的一个

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一个非常好的解释.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...