TimeZoneInfo.ConvertTimeBySystemTimeZoneId Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konverterar en tid till tiden i en annan tidszon baserat på en tidszonsidentifierare.
Överlagringar
| Name | Description |
|---|---|
| ConvertTimeBySystemTimeZoneId(DateTime, String) |
Konverterar en tid till tiden i en annan tidszon baserat på tidszonens identifierare. |
| ConvertTimeBySystemTimeZoneId(DateTimeOffset, String) |
Konverterar en tid till tiden i en annan tidszon baserat på tidszonens identifierare. |
| ConvertTimeBySystemTimeZoneId(DateTime, String, String) |
Konverterar en tid från en tidszon till en annan baserat på tidszonsidentifierare. |
ConvertTimeBySystemTimeZoneId(DateTime, String)
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
Konverterar en tid till tiden i en annan tidszon baserat på tidszonens identifierare.
public:
static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, destinationTimeZoneId As String) As DateTime
Parametrar
- dateTime
- DateTime
Datum och tid som ska konverteras.
- destinationTimeZoneId
- String
Identifieraren för måltidszonen.
Returer
Datum och tid i måltidszonen.
Undantag
destinationTimeZoneId är null.
Tidszonsidentifieraren hittades, men registerdata är skadade.
Processen har inte de behörigheter som krävs för att läsa från registernyckeln som innehåller tidszonsinformationen.
Identifieraren destinationTimeZoneId hittades inte i det lokala systemet.
Kommentarer
När du utför konverteringen ConvertTimeBySystemTimeZoneId tillämpar metoden eventuella justeringsregler som gäller i tidszonen destinationTimeZoneId .
Den här överlagringen ConvertTime(DateTime, TimeZoneInfo) är i stort sett identisk med att anropa metoden, förutom att du kan ange måltidszonen efter dess identifierare i stället för en objektreferens. Den här metoden är mest användbar när du måste konvertera en tid utan att hämta tidszonsobjektet som motsvarar det och du inte behöver veta om den konverterade tiden är standard eller sommartid.
Metoden ConvertTimeBySystemTimeZoneId(DateTime, String) avgör källtidszonen från värdet för dateTime parameterns Kind egenskap, vilket visas i följande tabell.
| Typegenskapsvärde | Källtidszon | Metodbeteende |
|---|---|---|
| DateTimeKind.Local | Local | Konverterar den lokala tiden till tiden i destinationTimeZone. |
| DateTimeKind.Utc | Utc | Konverterar UTC (Coordinated Universal Time) till tiden i destinationTimeZone. |
| DateTimeKind.Unspecified | Antas vara Local. | Konverterar den lokala tiden till tiden i destinationTimeZone. |
Egenskapen Kind för det returnerade DateTime värdet anges enligt följande tabell.
| Tillstånd | Returnerat egenskapsvärde för Typ |
|---|---|
destinationTimeZone är TimeZoneInfo.Utc.Id. |
DateTimeKind.Utc |
Alla andra destinationTimeZone värden. |
DateTimeKind.Unspecified |
Om värdet för parametern dateTime är en tvetydig lokal tid tolkas det som en standardtid. Om parametern dateTime är en ogiltig lokal tid genererar den här metoden en ArgumentException.
Om konverteringen av dateTime resulterar i ett datum- och tidsvärde som är tidigare än DateTime.MinValue eller senare än DateTime.MaxValuereturnerar DateTime.MinValue den här metoden respektive DateTime.MaxValue.
Den här metoden hämtar information om tidszonen vars identifierare anges av parametern destinationTimeZoneId från registret i Windows system och från ICU Library på Linux och macOS. Det går inte att hämta ett tidszonsobjekt som skapas med hjälp av CreateCustomTimeZone metoden . Parametern destinationTimeZoneId måste motsvara exakt tidszonens identifierare i längd, men inte om en lyckad matchning ska inträffa. Jämförelsen av destinationTimeZoneId med tidszonsidentifierare är skiftlägeskänslig.
Se även
Gäller för
ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
Konverterar en tid till tiden i en annan tidszon baserat på tidszonens identifierare.
public:
static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, System::String ^ destinationTimeZoneId);
public static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTimeOffset * string -> DateTimeOffset
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTimeOffset As DateTimeOffset, destinationTimeZoneId As String) As DateTimeOffset
Parametrar
- dateTimeOffset
- DateTimeOffset
Datum och tid som ska konverteras.
- destinationTimeZoneId
- String
Identifieraren för måltidszonen.
Returer
Datum och tid i måltidszonen.
Undantag
destinationTimeZoneId är null.
Tidszonsidentifieraren hittades men registerdata är skadade.
Processen har inte de behörigheter som krävs för att läsa från registernyckeln som innehåller tidszonsinformationen.
Identifieraren destinationTimeZoneId hittades inte i det lokala systemet.
Kommentarer
När du utför konverteringen ConvertTimeBySystemTimeZoneId tillämpar metoden eventuella justeringsregler som gäller i tidszonen destinationTimeZoneId .
Den här överlagringen ConvertTime(DateTimeOffset, TimeZoneInfo) är identisk med att anropa metoden, förutom att du kan ange måltidszonen efter dess identifierare i stället för en objektreferens. Den här metoden är mest användbar när du måste konvertera en tid utan att hämta tidszonsobjektet som motsvarar det och du inte behöver veta om den konverterade tiden är standard eller sommartid.
Eftersom parametern dateTimeOffset representerar ett datum och en tid tillsammans med den tidens förskjutning från Coordinated Universal Time (UTC) kan den inte representera antingen en tvetydig tid eller en ogiltig tid.
Den här metoden hämtar tidszonen vars identifierare anges av parametern destinationTimeZoneId från registret i Windows system och från ICU Library på Linux och macOS. Det går inte att hämta ett tidszonsobjekt som skapas med hjälp av CreateCustomTimeZone metoden . Parametern destinationTimeZoneId måste motsvara exakt tidszonens identifierare i längd, men inte om en lyckad matchning ska inträffa. Jämförelsen av destinationTimeZoneId med tidszonsidentifierare är skiftlägeskänslig.
När du konverterar dateTimeOffset värdet till tiden i måltidszonen tar metoden hänsyn till eventuella justeringsregler som gäller i måltidszonen.
Om konverteringen av dateTimeOffset resulterar i ett datum- och tidsvärde som är tidigare än DateTimeOffset.MinValue eller senare än DateTimeOffset.MaxValuereturnerar DateTimeOffset.MinValue den här metoden respektive DateTimeOffset.MaxValue.
Se även
Gäller för
ConvertTimeBySystemTimeZoneId(DateTime, String, String)
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
- Källa:
- TimeZoneInfo.cs
Konverterar en tid från en tidszon till en annan baserat på tidszonsidentifierare.
public:
static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ sourceTimeZoneId, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, string sourceTimeZoneId, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string * string -> DateTime
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, sourceTimeZoneId As String, destinationTimeZoneId As String) As DateTime
Parametrar
- dateTime
- DateTime
Datum och tid som ska konverteras.
- sourceTimeZoneId
- String
Identifieraren för källtidszonen.
- destinationTimeZoneId
- String
Identifieraren för måltidszonen.
Returer
Datum och tid i måltidszonen som motsvarar parametern dateTime i källtidszonen.
Undantag
Egenskapen Kind för parametern dateTime motsvarar inte källtidszonen.
-eller-
dateTime är en ogiltig tid i källtidszonen.
Tidszonsidentifierarna hittades, men registerdata är skadade.
Användaren har inte de behörigheter som krävs för att läsa från registernycklarna som innehåller tidszonsdata.
Identifieraren sourceTimeZoneId hittades inte i det lokala systemet.
-eller-
Identifieraren destinationTimeZoneId hittades inte i det lokala systemet.
Exempel
I följande exempel används TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) metoden för att visa den tid som motsvarar den lokala systemtiden i åtta städer i världen.
DateTime currentTime = DateTime.Now;
Console.WriteLine("Current Times:");
Console.WriteLine();
Console.WriteLine("Los Angeles: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
Console.WriteLine("Chicago: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
Console.WriteLine("New York: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
Console.WriteLine("London: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
Console.WriteLine("Moscow: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
Console.WriteLine("New Delhi: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
Console.WriteLine("Beijing: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
Console.WriteLine("Tokyo: {0}",
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
let currentTime = DateTime.Now
printfn "Current Times:\n"
printfn $"""Los Angeles: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time")}"""
printfn $"""Chicago: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time")}"""
printfn $"""New York: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time")}"""
printfn $"""London: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time")}"""
printfn $"""Moscow: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time")}"""
printfn $"""New Delhi: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time")}"""
printfn $"""Beijing: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time")}"""
printfn $"""Tokyo: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time")}"""
Dim currentTime As Date = Date.Now
Console.WriteLine("Current Times:")
Console.WriteLine()
Console.WriteLine("Los Angeles: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"))
Console.WriteLine("Chicago: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"))
Console.WriteLine("New York: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"))
Console.WriteLine("London: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"))
Console.WriteLine("Moscow: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"))
Console.WriteLine("New Delhi: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"))
Console.WriteLine("Beijing: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"))
Console.WriteLine("Tokyo: {0}", _
TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"))
Kommentarer
När du utför konverteringen ConvertTimeBySystemTimeZoneId tillämpar metoden eventuella justeringsregler som gäller i tidszonen destinationTimeZoneId .
Även om den liknar TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) metoden kan du använda TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) för att ange käll- och måltidszonerna med hjälp av deras identifierare i stället för deras TimeZoneInfo objekt. Den här metoden är mest användbar när du måste konvertera en tid utan att hämta tidszonsobjektet som motsvarar det och du inte behöver veta om den konverterade tiden är standard eller sommartid.
Den här metoden hämtar de tidszoner vars identifierare är parametrarna sourceTimeZoneId och destinationTimeZoneId från registret i Windows system och från ICU-biblioteket på Linux och macOS. Det går inte att hämta tidszonsobjekt som skapas med hjälp av CreateCustomTimeZone metoden .
Värdet för egenskapen för Kind parametern dateTime måste motsvara parametern sourceTimeZoneId , som följande tabell visar.
| DateTime.Kind-värde | sourceTimeZone-värde | Metodbeteende |
|---|---|---|
| DateTimeKind.Utc | Är lika med TimeZoneInfo.Utc.Id. |
Konverterar dateTime till måltidszonens tid. |
| DateTimeKind.Utc | Är inte lika med TimeZoneInfo.Utc.Id. |
Kastar en ArgumentException. |
| DateTimeKind.Local | Är lika med TimeZoneInfo.Local.Id. |
Konverterar dateTime till måltidszonens tid. |
| DateTimeKind.Local | Är inte lika med TimeZoneInfo.Local.Id. |
Kastar en ArgumentException. |
| DateTimeKind.Unspecified | Någon. | Konverterar dateTime till måltidszonens tid. |
Eftersom den förlitar sig på anrop till FindSystemTimeZoneById metoden ConvertTimeBySystemTimeZoneId utför metoden en skiftlägeskänslig sökning för att hitta de tidszoner som motsvarar sourceTimeZoneId och destinationTimeZoneId.
Om värdet för parametern dateTime är en tvetydig tid i källtidszonen tolkas det som en standardtid. Om parametern dateTime är en ogiltig tid i källtidszonen genererar den här metoden en ArgumentException.
Egenskapen Kind för det returnerade DateTime värdet anges till DateTimeKind.Unspecified såvida inte måltidszonen är Coordinated Universal Time (UTC), i vilket fall den är inställd på DateTimeKind.Utc.