Share via


時間和時區

更新:2007 年 11 月

除了基本 DateTime 結構之外,.NET Framework 還提供下列支援使用時區的類別:

  • TimeZone

    使用這個類別搭配系統的本地時區及 Coordinated Universal Time (UTC) 時區。TimeZone 類別的功能大致上已由 TimeZoneInfo 類別替代。

  • TimeZoneInfo

    使用這個類別搭配系統上預先定義的任何時區、建立新時區,以及在各時區之間輕鬆轉換日期和時間。在開發新程式時,請使用 TimeZoneInfo 類別而非 TimeZone 類別。

  • DateTimeOffset

    使用這個結構搭配已知與 UTC 之間偏移 (或差異) 的日期和時間。DateTimeOffset 結構會將日期和時間值,以及該時間與 UTC 之間的偏移組合在一起。基於該時間與 UTC 之間的關聯性,個別日期和時間值會明確識別單一時間點。如此可讓 DateTimeOffset 值比 DateTime 值更容易在電腦之間移動。

本節將提供使用時區,以及建立在時區之間轉換日期和時間的時區感知應用程式時所需的資訊。

在本節中

時區概觀

討論建立時區感知應用程式時涉及的術語、概念與問題。

在 DateTime、DateTimeOffset 和 TimeZoneInfo 之間選擇

討論搭配日期和時間資料時,使用 DateTimeDateTimeOffsetTimeZoneInfo 型別的時機。

尋找定義於本機系統的時區

描述如何列舉本機系統上找到的時區。

HOW TO:列舉電腦上展示的時區

提供範例,列舉電腦登錄中定義的時區,以及允許使用者選取清單中預先定義的時區。

HOW TO:存取預先定義的 UTC 和本機時區物件

描述如何存取 Coordinated Universal Time 和本機時區。

HOW TO:具現化 TimeZoneInfo 物件

描述如何從本機系統登錄中將 TimeZoneInfo 物件執行個體化。

具現化 DateTimeOffset 物件

討論可執行個體化 DateTimeOffset 物件的方式,以及可將 DateTime 值轉換成 DateTimeOffset 的方式。

HOW TO:建立沒有調整規則的時區

描述如何建立不支援日光節約時間轉換的自訂時區。

HOW TO:建立有調整規則的時區

描述如何建立支援一個或多個日光節約時間轉換的自訂時區。

儲存和還原時區

描述序列化和還原序列化時區資料的 TimeZoneInfo 支援,以及說明一些使用案例。

HOW TO:將時區儲存到內嵌資源

描述如何建立自訂時區以及將其資訊儲存到資源檔中。

HOW TO:從內嵌資源還原時區

描述如何執行個體化儲存到內嵌資源檔的自訂時區。

使用日期和時間執行算術運算

討論加、減及比較 DateTimeDateTimeOffset 值涵蓋的問題。

HOW TO:在日期和時間運算中使用時區

討論如何執行日期和時間算術,以反映出時區的調整規則。

在 DateTime 和 DateTimeOffset 之間轉換

描述如何在 DateTimeDateTimeOffset 值之間轉換。

在各時區間轉換時間

描述如何在時區之間轉換。

HOW TO:解決模稜兩可的時間

描述如何藉由對應時區的標準時間來解析不明確的時間。

HOW TO:讓使用者解決模稜兩可的時間

描述如何讓使用者決定不明確的本機時間與 Coordinated Universal Time 之間的對應。

參考

TimeZoneInfo