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:
-
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.
-
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.
-
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:
-
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.
DateOnly
má 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žiliDateTime
typ v kódu k vyjádření data, které ignorovalo čas, použijte tento typ na svém místě. -
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á rozsah00:00:00.0000000
až23:59:59.9999999
. Tento typ lze použít k nahrazeníDateTime
aTimeSpan
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.