Data, časy a časová pásma

Kromě základní DateTime struktury poskytuje .NET následující třídy, které podporují práci s časovými pásmy:

  • TimeZone

    Pomocí této třídy můžete pracovat s místním časovým pásmem systému a zónou UTC (Coordinated Universal Time). Funkce TimeZone třídy je z velké části nahrazena TimeZoneInfo třídou.

  • TimeZoneInfo

    Pomocí této třídy můžete pracovat s libovolným časovým pásmem, který je předdefinován v systému, vytvářet nová časová pásma a snadno převádět data a časy z jednoho časového pásma na jiné. Pro nový vývoj použijte TimeZoneInfo třídu místo TimeZone třídy.

  • DateTimeOffset

    Tato struktura slouží k práci s daty a časy, jejichž posun (nebo rozdíl) od utc je známý. Struktura DateTimeOffset kombinuje hodnotu data a času s posunem tohoto času od utc. Vzhledem k tomu, že je relace k UTC, jednotlivá hodnota data a času jednoznačně identifikuje jeden bod v čase. Díky tomu je DateTimeOffset hodnota přenosnější z jednoho počítače do jiného než DateTime hodnota.

Počínaje rozhraním .NET 6 jsou k dispozici následující typy:

  • DateOnly

    Tuto strukturu použijte při práci s hodnotou, která představuje pouze datum. Datum představuje celý den od začátku dne do konce. DateOnlymá rozsah průchozí 9999-12-31.0001-01-01 A tento typ představuje kombinaci měsíce, dne a roku bez konkrétního času. Pokud jste dříve použili DateTime typ v kódu k vyjádření data, které ignorovalo čas, použijte tento typ na svém místě.

  • TimeOnly

    Pomocí této struktury můžete znázorňovat čas bez data. Čas představuje hodiny, minuty a sekundy neurčitého dne. TimeOnly má rozsah 00:00:00.000000023:59:59.9999999. Tento typ lze použít k nahrazení DateTime a TimeSpan typům v kódu, když jste tyto typy použili k reprezentaci času.

V další části najdete informace, které potřebujete pro práci s časovými pásmy a vytváření aplikací pracujících s časovým pásmem, které můžou převést data a časy z jednoho časového pásma na jiné.

V této části

Přehled časových pásem
Popisuje terminologii, koncepty a problémy související s vytvářením aplikací pracujících s časovým pásmem.

Volba mezi DateTime, DateTimeOffset, TimeSpan a TimeZoneInfo
Popisuje, kdy použít DateTime, DateTimeOffseta TimeZoneInfo typy při práci s daty data a času.

Hledání časových pásem definovaných v lokálním systému
Popisuje, jak vytvořit výčet časových pásem nalezených v místním systému.

Postupy: Vytvoření výčtu časových pásem přítomných na počítači
Poskytuje příklady, které vyčíslují časová pásma definovaná v registru počítače a umožňují uživatelům vybrat předdefinované časové pásmo ze seznamu.

Postupy: Přístup k předdefinovaným objektům časového pásma UTC a lokálního časového pásma
Popisuje, jak získat přístup ke koordinovanému univerzálnímu času a místnímu časovému pásmu.

Postupy: Vytvoření instance objektu TimeZoneInfo
Popisuje, jak vytvořit instanci TimeZoneInfo objektu z místního systémového registru.

Vytvoření instance objektu DateTimeOffset
Popisuje způsoby, kterými lze vytvořit instanci objektu DateTimeOffset , a způsoby, kterými DateTime lze hodnotu převést na DateTimeOffset hodnotu.

Postupy: Vytváření časových pásem bez pravidel úpravy
Popisuje, jak vytvořit vlastní časové pásmo, které nepodporuje přechod na a z letního času.

Postupy: Vytváření časových pásem s pravidly úpravy
Popisuje, jak vytvořit vlastní časové pásmo, které podporuje jeden nebo více přechodů do a z letního času.

Ukládání a obnovování časových pásem
Popisuje TimeZoneInfo podporu serializace a deserializace dat časového pásma a ilustruje některé scénáře, ve kterých lze tyto funkce použít.

Postupy: Ukládání časových pásem do integrovaného prostředku
Popisuje, jak vytvořit vlastní časové pásmo a uložit jeho informace do souboru prostředků.

Postupy: Obnovení časových pásem z integrovaného prostředku
Popisuje, jak vytvořit instanci vlastních časových pásem, která byla uložena do vloženého souboru prostředků.

Provádění aritmetických operací s daty a časy
Popisuje problémy související se sčítáním, odčítáním a porovnáváním a porovnáním DateTime a DateTimeOffset hodnotami.

Postupy: Používání časových pásem v aritmetice kalendářních a časových údajů
Popisuje, jak provádět aritmetické aritmetické hodnoty data a času, které odrážejí pravidla úpravy časového pásma.

Převádění mezi DateTime a DateTimeOffset
Popisuje, jak převést mezi hodnotami a DateTimeOffset mezi DateTime hodnotami.

Převod časů mezi časovými pásmy
Popisuje, jak převést časy z jednoho časového pásma na jiné.

Postupy: Řešení nejednoznačných časových údajů
Popisuje, jak vyřešit nejednoznačný čas tím, že ho namapuje na standardní čas časového pásma.

Postupy: Umožnění řešení nejednoznačných časových údajů pro uživatele
Popisuje, jak umožnit uživateli určit mapování mezi nejednoznačným místním časem a koordinovaným univerzálním časem.

Reference

System.TimeZoneInfo