Share via


Datum, tider och tidszoner

Förutom den grundläggande DateTime strukturen tillhandahåller .NET följande klasser som stöder arbete med tidszoner:

  • TimeZone

    Använd den här klassen för att arbeta med systemets lokala tidszon och UTC-zonen (Coordinated Universal Time). Funktionen i TimeZone klassen ersätts till stor del av TimeZoneInfo klassen .

  • TimeZoneInfo

    Använd den här klassen för att arbeta med alla tidszoner som är fördefinierade i ett system, för att skapa nya tidszoner och för att enkelt konvertera datum och tider från en tidszon till en annan. För ny utveckling använder du TimeZoneInfo klassen i stället för TimeZone klassen .

  • DateTimeOffset

    Använd den här strukturen för att arbeta med datum och tider vars förskjutning (eller skillnad) från UTC är känd. Strukturen DateTimeOffset kombinerar ett datum- och tidsvärde med den tidens förskjutning från UTC. På grund av relationen till UTC identifierar ett enskilt datum- och tidsvärde entydigt en enskild tidpunkt. Detta gör ett DateTimeOffset värde mer portabelt från en dator till en annan än ett DateTime värde.

Från och med .NET 6 är följande typer tillgängliga:

  • DateOnly

    Använd den här strukturen när du arbetar med ett värde som bara representerar ett datum. Datumet representerar hela dagen, från början av dagen till slutet. DateOnly har ett intervall på 0001-01-01 till och med 9999-12-31. Och den här typen representerar kombinationen månad, dag och år utan en viss tid. Om du tidigare använde en DateTime typ i koden för att representera ett datum som bortse från tiden använder du den här typen i dess ställe.

  • TimeOnly

    Använd den här strukturen för att representera en tid utan datum. Tiden representerar timmar, minuter och sekunder för en icke-specifik dag. TimeOnly har ett intervall på 00:00:00.0000000 till 23:59:59.9999999. Den här typen kan användas för att ersätta DateTime och TimeSpan typer i koden när du använde dessa typer för att representera en tid.

Nästa avsnitt innehåller den information som du behöver för att arbeta med tidszoner och för att skapa tidszonsmedvetna program som kan konvertera datum och tider från en tidszon till en annan.

Innehåll i det här avsnittet

Översikt över tidszon
Beskriver terminologi, begrepp och problem som ingår i skapandet av tidszonsmedvetna program.

Välja mellan DateTime, DateTimeOffset, TimeSpan och TimeZoneInfo
Beskriver när du ska använda typerna DateTime, DateTimeOffsetoch TimeZoneInfo när du arbetar med datum- och tidsdata.

Hitta de tidszoner som definierats i ett lokalt system
Beskriver hur du räknar upp de tidszoner som finns i ett lokalt system.

Anvisningar: Räkna upp tidszoner som finns på en dator
Innehåller exempel som räknar upp de tidszoner som definierats i en dators register och som låter användarna välja en fördefinierad tidszon från en lista.

Anvisningar: Få åtkomst till fördefinierade UTC-objekt och lokala tidszonsobjekt
Beskriver hur du får åtkomst till Coordinated Universal Time och den lokala tidszonen.

Anvisningar: Instansiera ett TimeZoneInfo-objekt
Beskriver hur du instansierar ett TimeZoneInfo objekt från det lokala systemregistret.

Instansiera ett DateTimeOffset-objekt
Beskriver hur ett DateTimeOffset objekt kan instansieras och hur ett DateTime värde kan konverteras till ett DateTimeOffset värde.

Anvisningar: Skapa tidszoner utan justeringsregler
Beskriver hur du skapar en anpassad tidszon som inte stöder övergången till och från sommartid.

Anvisningar: Skapa tidszoner med justeringsregler
Beskriver hur du skapar en anpassad tidszon som stöder en eller flera övergångar till och från sommartid.

Spara och återställa tidszoner
Beskriver TimeZoneInfo stöd för serialisering och deserialisering av tidszonsdata och illustrerar några av de scenarier där dessa funktioner kan användas.

Anvisningar: Spara tidszoner i en inbäddad resurs
Beskriver hur du skapar en anpassad tidszon och sparar informationen i en resursfil.

Anvisningar: Återställa tidszoner från en inbäddad resurs
Beskriver hur du instansierar anpassade tidszoner som har sparats i en inbäddad resursfil.

Utföra aritmetiska åtgärder med datum och tider
Beskriver problemen med att lägga till, subtrahera och jämföra DateTime och DateTimeOffset värden.

Anvisningar: Använda tidszoner i datum- och tidsaritmetik
Beskriver hur du utför datum- och tidsaritmetik som återspeglar en tidszons justeringsregler.

Konvertera mellan DateTime och DateTimeOffset
Beskriver hur du konverterar mellan DateTime - och DateTimeOffset -värden.

Konvertera tider mellan tidszoner
Beskriver hur du konverterar tider från en tidszon till en annan.

Anvisningar: Lösa tvetydiga tider
Beskriver hur du löser en tvetydig tid genom att mappa den till tidszonens standardtid.

Anvisningar: Låt användare lösa tvetydiga tider
Beskriver hur du låter en användare fastställa mappningen mellan en tvetydig lokal tid och Coordinated Universal Time.

Referens

System.TimeZoneInfo