Daty, godziny i strefy czasowe

Oprócz podstawowej DateTime struktury platforma .NET udostępnia następujące klasy, które obsługują pracę ze strefami czasowymi:

  • TimeZone

    Ta klasa służy do pracy z lokalną strefą czasową systemu i strefą uniwersalnego czasu koordynowanego (UTC). Funkcjonalność TimeZone klasy jest w dużej mierze zastępowana przez klasę TimeZoneInfo .

  • TimeZoneInfo

    Ta klasa służy do pracy z dowolną strefą czasową, która jest wstępnie zdefiniowana w systemie, w celu utworzenia nowych stref czasowych oraz łatwego konwertowania dat i godzin z jednej strefy czasowej na inną. W przypadku nowego programowania użyj TimeZoneInfo klasy zamiast TimeZone klasy .

  • DateTimeOffset

    Ta struktura umożliwia pracę z datami i godzinami, których przesunięcie (lub różnica) od czasu UTC jest znane. Struktura DateTimeOffset łączy wartość daty i godziny z przesunięciem tego czasu z czasu UTC. Ze względu na relację z utc pojedyncza wartość daty i godziny jednoznacznie identyfikuje pojedynczy punkt w czasie. Dzięki temu wartość jest bardziej przenośna DateTimeOffset z jednego komputera na inny niż DateTime wartość.

Począwszy od platformy .NET 6, dostępne są następujące typy:

  • DateOnly

    Użyj tej struktury podczas pracy z wartością, która reprezentuje tylko datę. Data reprezentuje cały dzień od początku dnia do końca. DateOnlyelement ma zakres od 0001-01-01 .9999-12-31 Ten typ reprezentuje kombinację miesiąca, dnia i roku bez określonego czasu. Jeśli wcześniej użyto DateTime typu w kodzie do reprezentowania daty, która zignorowała godzinę, użyj tego typu w swoim miejscu.

  • TimeOnly

    Ta struktura służy do reprezentowania godziny bez daty. Czas reprezentuje godziny, minuty i sekundy nieokreślinego dnia. TimeOnly ma zakres od 00:00:00.0000000 do 23:59:59.9999999. Ten typ może służyć do zastępowania DateTime typów i TimeSpan typów w kodzie, gdy użyto tych typów do reprezentowania czasu.

W następnej sekcji przedstawiono informacje potrzebne do pracy ze strefami czasowymi oraz tworzenie aplikacji obsługujących strefy czasowe, które mogą konwertować daty i godziny z jednej strefy czasowej na inną.

W tej sekcji

Strefy czasowe — omówienie
Omówienie terminologii, pojęć i problemów związanych z tworzeniem aplikacji obsługujących strefy czasowe.

Wybieranie pomiędzy elementem DateTime, DateTimeOffset, TimeSpan i TimeZoneInfo
W tym artykule omówiono, kiedy należy używać DateTimetypów , DateTimeOffseti TimeZoneInfo podczas pracy z danymi daty i godziny.

Znajdowanie stref czasowych zdefiniowanych w systemie lokalnym
Opisuje sposób wyliczania stref czasowych znalezionych w systemie lokalnym.

Instrukcje: Wyliczanie stref czasowych na komputerze
Zawiera przykłady, które wyliczają strefy czasowe zdefiniowane w rejestrze komputera i umożliwiają użytkownikom wybranie wstępnie zdefiniowanej strefy czasowej z listy.

Instrukcje: Uzyskiwanie dostępu do wstępnie zdefiniowanych obiektów lokalnej strefy czasowej i strefy czasowej UTC
Opisuje sposób uzyskiwania dostępu do uniwersalnego czasu koordynowanego i lokalnej strefy czasowej.

Instrukcje: Tworzenie wystąpień obiektów TimeZoneInfo
Opisuje sposób tworzenia wystąpienia TimeZoneInfo obiektu z rejestru systemu lokalnego.

Tworzenie wystąpień obiektów DateTimeOffset
W tym artykule omówiono sposoby DateTimeOffset tworzenia wystąpienia obiektu oraz sposoby DateTime konwertowania wartości na DateTimeOffset wartość.

Instrukcje: Tworzenie stref czasowych bez reguł korygowania
Opisuje sposób tworzenia niestandardowej strefy czasowej, która nie obsługuje przejścia do i z czasu letniego.

Instrukcje: Tworzenie stref czasowych przy użyciu reguł korygowania
Opisuje sposób tworzenia niestandardowej strefy czasowej obsługującej co najmniej jedno przejście do i z czasu letniego.

Zapisywanie i przywracanie stref czasowych
Opisuje TimeZoneInfo obsługę serializacji i deserializacji danych strefy czasowej oraz ilustruje niektóre scenariusze, w których można używać tych funkcji.

Instrukcje: Zapisywanie stref czasowych w zasobie osadzonym
Opisuje sposób tworzenia niestandardowej strefy czasowej i zapisywania informacji w pliku zasobu.

Instrukcje: Przywracanie stref czasowych z zasobu osadzonego
Opisuje sposób tworzenia wystąpień niestandardowych stref czasowych, które zostały zapisane w osadzonym pliku zasobów.

Wykonywanie operacji arytmetycznych na wartościach dat i godzin
W tym artykule omówiono problemy związane z dodawaniem, odejmowaniem i porównywaniem wartości oraz DateTimeOffset ich porównywaniemDateTime.

Instrukcje: Używanie stref czasowych w arytmetyce wartości daty i godziny
W tym artykule omówiono sposób wykonywania arytmetyki daty i godziny, która odzwierciedla reguły korekty strefy czasowej.

Konwertowanie pomiędzy DateTime i DateTimeOffset
Opisuje sposób konwertowania między wartościami DateTime i DateTimeOffset .

Konwertowanie czasów między strefami czasowymi
Opisuje sposób konwertowania czasu z jednej strefy czasowej na inną.

Instrukcje: Rozwiązywanie niejednoznacznych wartości czasu
Opisuje sposób rozwiązywania niejednoznacznego czasu przez mapowanie go na standardowy czas strefy czasowej.

Instrukcje: Pozwalanie użytkownikom na rozwiązywanie niejednoznacznych wartości czasu
Opisuje, jak umożliwić użytkownikowi określenie mapowania między niejednoznacznym czasem lokalnym a uniwersalnym czasem koordynowanym.

Tematy pomocy

System.TimeZoneInfo