c#

位置:IT落伍者 >> c# >> 浏览文章

使用.NET Framework中新的日期时间类型[7]


发布日期:2020年01月19日
 
使用.NET Framework中新的日期时间类型[7]

时区支持

NET Framework 之前我们只能使用TimeZone来表示一个时区但是Timezone功能很有限它只能识别本地时区可以在UTC和本地时间之间转换时间而TimeZoneInfo 对TimeZone进行了很大的增强它可以表示世界上的任意时区 看下面一段代码

static void Main(string[] args)

{

TimeZone timeZoneA = TimeZoneCurrentTimeZone;

ConsoleWriteLine(timeZoneAStandardName);

TimeZoneInfo timeZoneB = TimeZoneInfoLocal;

ConsoleWriteLine(timeZoneBStandardName);

TimeZoneInfo timeZoneC = TimeZoneInfoUtc;

ConsoleWriteLine(timeZoneCStandardName);

}

输出结果如下图所示

TimeZone提供的属性和方法非常有限TimeZoneInfo在这方面就显的非常丰富我们可以使用TimeZoneInfo在两个不同的时区之间转换时间如下面的代码

static void Main(string[] args)

{

DateTimeOffset chinaDate = DateTimeOffsetNow;

DateTimeOffset easternDate = TimeZoneInfoConvertTime(

chinaDate

TimeZoneInfoFindSystemTimeZoneById(Eastern Standard Time));

ConsoleWriteLine(Now: {} chinaDate);

ConsoleWriteLine(Now in Eastern: {} easternDate);

}

输出结果如下图所示

这里使用FindSystemTimeZoneById方法来根据ID来获取时区在推出TimeZoneInfo之后在以后的开发中完全可以放弃TimeZone类了TimeZoneInfo已经完全包含了它

总结

本文介绍了NET Framework中对于日期时间类型的支持希望对大家有所帮助

[] [] [] [] [] [] []

               

上一篇:使用.NET Framework中新的日期时间类型[6]

下一篇:C#中构造函数和析构函数的用法(三)