可以看到,DateTime输出了日期和时间,DateTimeOffset类型不仅输出了日期和时间,还给出当前时间与UTC之间的差值。接下来我们再看一段代码,如何手工构造一个DateTime和DateTimeOffset实例:
static void Main(string[] args)
{
DateTime dateA = new DateTime(2008,8,26,23,1,48);
DateTimeOffset dateB = new DateTimeOffset(2008, 8, 26, 23, 1, 48,
new TimeSpan(4,0,0));
Console.WriteLine(dateA);
Console.WriteLine(dateB);
}
输出结果如下图所示:
转换DateTime为DateTimeOffset
通过上面的两个例子,大家应该对DateTimeOffset有了一个基本的认识,DateTimeOffset提供了比DateTime更高程度的时区识别能力,接下来我们看如何在DateTime和DateTimeOffset之间进行转换,开始之前我们先了解一下DateTimeKind枚举,在DateTime中提供了一个名为Kind的属性,它用来指示DateTime对象是表示本地时间、国际标准时间(UTC),还是既不指定为本地时间,也不指定为国际标准时间(UTC),DateTimeKind的定义如下:
public enum DateTimeKind
{
Unspecified,
Utc,
Local
}
文章来源于领测软件测试网 https://www.ltesting.net/