時區支持
在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 = DateTimeOffset
Now;
DateTimeOffset easternDate = TimeZoneInfo
ConvertTime(
chinaDate
TimeZoneInfo
FindSystemTimeZoneById(
Eastern Standard Time
));
Console
WriteLine(
Now: {
}
chinaDate);
Console
WriteLine(
Now in Eastern: {
}
easternDate);
}
輸出結果如下圖所示
這裡使用FindSystemTimeZoneById方法來根據ID來獲取時區在推出TimeZoneInfo之後在以後的開發中完全可以放棄TimeZone類了TimeZoneInfo已經完全包含了它
總結
本文介紹了NET Framework中對於日期時間類型的支持希望對大家有所幫助
[] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/net/201311/14871.html