TimeZoneInfo.ConvertTime Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert eine Zeit in die Zeit in einer bestimmten Zeitzone.
Überlädt
ConvertTime(DateTime, TimeZoneInfo) |
Konvertiert eine Zeit in die Zeit in einer bestimmten Zeitzone. |
ConvertTime(DateTimeOffset, TimeZoneInfo) |
Konvertiert eine Zeit in die Zeit in einer bestimmten Zeitzone. |
ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) |
Konvertiert eine Zeit aus einer Zeitzone in ein andere. |
ConvertTime(DateTime, TimeZoneInfo)
- Quelle:
- TimeZoneInfo.cs
- Quelle:
- TimeZoneInfo.cs
- Quelle:
- TimeZoneInfo.cs
Konvertiert eine Zeit in die Zeit in einer bestimmten Zeitzone.
public:
static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTime (DateTime dateTime, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTime * TimeZoneInfo -> DateTime
Public Shared Function ConvertTime (dateTime As DateTime, destinationTimeZone As TimeZoneInfo) As DateTime
Parameter
- dateTime
- DateTime
Das Datum und die Uhrzeit, die konvertiert werden sollen.
- destinationTimeZone
- TimeZoneInfo
Die Zeitzone, in die dateTime
konvertiert werden soll.
Gibt zurück
Das Datum und die Uhrzeit in der Zielzeitzone.
Ausnahmen
Der Wert des dateTime
-Parameters, der eine ungültige Zeit darstellt.
Der Wert des destinationTimeZone
-Parameters ist null
.
Beispiele
Im folgenden Beispiel wird ein Array von Datums- und Uhrzeitwerten in Zeiten in der östlichen Zeitzone der USA und Kanadas konvertiert. Es zeigt, dass die Quellzeitzone von der DateTime.Kind -Eigenschaft des Quellwerts DateTime abhängt. Außerdem wird veranschaulicht, dass die ConvertTime Methode Zeitzonenanpassungen berücksichtigt, da am 7. November 2010 um 2:00 Uhr eine Zeitzonenanpassung sowohl in der Quell- als auch in der Zielzeitzone erfolgt.
using System;
public class Example
{
public static void Main()
{
// Define times to be converted.
DateTime[] times = { new DateTime(2010, 1, 1, 0, 1, 0),
new DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Utc),
new DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Local),
new DateTime(2010, 11, 6, 23, 30, 0),
new DateTime(2010, 11, 7, 2, 30, 0) };
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
TimeZoneInfo est;
try {
est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
}
catch (TimeZoneNotFoundException) {
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
return;
}
catch (InvalidTimeZoneException) {
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
return;
}
// Display the current time zone name.
Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);
// Convert each time in the array.
foreach (DateTime timeToConvert in times)
{
DateTime targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
Console.WriteLine("Converted {0} {1} to {2}.", timeToConvert,
timeToConvert.Kind, targetTime);
}
}
}
// The example displays the following output:
// Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//
// Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
// Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
// Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
// Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
// Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
open System
// Define times to be converted.
let times =
[| DateTime(2010, 1, 1, 0, 1, 0)
DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Utc)
DateTime(2010, 1, 1, 0, 1, 0, DateTimeKind.Local)
DateTime(2010, 11, 6, 23, 30, 0)
DateTime(2010, 11, 7, 2, 30, 0) |]
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
try
let est = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"
// Display the current time zone name.
printfn $"Local time zone: {TimeZoneInfo.Local.DisplayName}\n"
// Convert each time in the array.
for timeToConvert in times do
let targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est)
printfn $"Converted {timeToConvert} {timeToConvert.Kind} to {targetTime}."
with
| :? TimeZoneNotFoundException ->
printfn "Unable to retrieve the Eastern Standard time zone."
| :? InvalidTimeZoneException ->
printfn "Unable to retrieve the Eastern Standard time zone."
// The example displays the following output:
// Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//
// Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
// Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
// Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
// Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
// Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
Module Example
Public Sub Main()
' Define times to be converted.
Dim times() As Date = { #1/1/2010 12:01AM#, _
DateTime.SpecifyKind(#1/1/2010 12:01AM#, DateTimeKind.Utc), _
DateTime.SpecifyKind(#1/1/2010 12:01AM#, DateTimeKind.Local), _
#11/6/2010 11:30PM#, #11/7/2010 2:30AM# }
' Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
Dim est As TimeZoneInfo
Try
est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
Catch e As TimeZoneNotFoundException
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
Exit Sub
Catch e As InvalidTimeZoneException
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
Exit Sub
End Try
' Display the current time zone name.
Console.WriteLine("Local time zone: {0}", TimeZoneInfo.Local.DisplayName)
Console.WriteLine()
' Convert each time in the array.
For Each timeToConvert As Date In times
Dim targetTime As Date = TimeZoneInfo.ConvertTime(timeToConvert, est)
Console.WriteLine("Converted {0} {1} to {2}.", timeToConvert, _
timeToConvert.Kind, targetTime)
Next
End Sub
End Module
' The example displays the following output:
' Local time zone: (GMT-08:00) Pacific Time (US & Canada)
'
' Converted 1/1/2010 12:01:00 AM Unspecified to 1/1/2010 3:01:00 AM.
' Converted 1/1/2010 12:01:00 AM Utc to 12/31/2009 7:01:00 PM.
' Converted 1/1/2010 12:01:00 AM Local to 1/1/2010 3:01:00 AM.
' Converted 11/6/2010 11:30:00 PM Unspecified to 11/7/2010 1:30:00 AM.
' Converted 11/7/2010 2:30:00 AM Unspecified to 11/7/2010 5:30:00 AM.
Hinweise
Bei der Konvertierung wendet die ConvertTime(DateTimeOffset, TimeZoneInfo) -Methode alle in der destinationTimeZone
Zeitzone geltenden Anpassungsregeln an.
Diese Überladung der ConvertTime(DateTime, TimeZoneInfo) -Methode bestimmt die Quellzeitzone anhand des Werts der dateTime
-Eigenschaft des Kind Parameters, wie in der folgenden Tabelle dargestellt.
Kind-Eigenschaftswert | Quellzeitzone | Methodenverhalten |
---|---|---|
DateTimeKind.Local | Local | Konvertiert die Ortszeit in die Uhrzeit in destinationTimeZone . |
DateTimeKind.Utc | Utc | Konvertiert koordinierte Weltzeit (UTC) in die Zeit in destinationTimeZone . |
DateTimeKind.Unspecified | Angenommen, dass ist Local. | Konvertiert die Ortszeit in die Uhrzeit in destinationTimeZone . |
Die Kind -Eigenschaft des zurückgegebenen Werts DateTime wird wie in der folgenden Tabelle dargestellt festgelegt.
Bedingung | Zurückgegebener Kind-Eigenschaftswert |
---|---|
destinationTimeZone ist TimeZoneInfo.Utc. |
DateTimeKind.Utc |
destinationTimeZone ist TimeZoneInfo.Local. |
DateTimeKind.Local |
Alle anderen Datums- und Uhrzeitwerte und Zielzeitzonen. | DateTimeKind.Unspecified |
Wenn der Wert des dateTime
Parameters eine mehrdeutige Ortszeit ist, wird er als Standardzeit interpretiert. Wenn der dateTime
Parameter eine ungültige Ortszeit ist, löst diese Methode eine aus ArgumentException.
Wenn die Konvertierung von dateTime
führt ein Datum und Uhrzeit-Wert, der älter als DateTime.MinValue oder später als DateTime.MaxValue, gibt diese Methode DateTime.MinValue oder DateTime.MaxValuebzw.
Sie können auch in oder von UTC konvertieren, indem Sie die ConvertTimeFromUtc Methoden und ConvertTimeToUtc aufrufen.
Weitere Informationen
Gilt für:
ConvertTime(DateTimeOffset, TimeZoneInfo)
- Quelle:
- TimeZoneInfo.cs
- Quelle:
- TimeZoneInfo.cs
- Quelle:
- TimeZoneInfo.cs
Konvertiert eine Zeit in die Zeit in einer bestimmten Zeitzone.
public:
static DateTimeOffset ConvertTime(DateTimeOffset dateTimeOffset, TimeZoneInfo ^ destinationTimeZone);
public static DateTimeOffset ConvertTime (DateTimeOffset dateTimeOffset, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTimeOffset * TimeZoneInfo -> DateTimeOffset
Public Shared Function ConvertTime (dateTimeOffset As DateTimeOffset, destinationTimeZone As TimeZoneInfo) As DateTimeOffset
Parameter
- dateTimeOffset
- DateTimeOffset
Das Datum und die Uhrzeit, die konvertiert werden sollen.
- destinationTimeZone
- TimeZoneInfo
Die Zeitzone, in die dateTime
konvertiert werden soll.
Gibt zurück
Das Datum und die Uhrzeit in der Zielzeitzone.
Ausnahmen
Der Wert des destinationTimeZone
-Parameters ist null
.
Beispiele
Im folgenden Beispiel wird ein Array von DateTimeOffset Werten in zeiten in der östlichen Zeitzone der USA und Kanadas konvertiert. Es veranschaulicht, dass die ConvertTime Methode Zeitzonenanpassungen berücksichtigt, da am 7. November 2010 um 2:00 Uhr eine Zeitzonenanpassung sowohl in der Quell- als auch in der Zielzeitzone erfolgt.
using System;
public class Example
{
public static void Main()
{
// Define times to be converted.
DateTime time1 = new DateTime(2010, 1, 1, 12, 1, 0);
DateTime time2 = new DateTime(2010, 11, 6, 23, 30, 0);
DateTimeOffset[] times = { new DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)),
new DateTimeOffset(time1, TimeSpan.Zero),
new DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)),
new DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) };
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
TimeZoneInfo est;
try {
est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
}
catch (TimeZoneNotFoundException) {
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
return;
}
catch (InvalidTimeZoneException) {
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.");
return;
}
// Display the current time zone name.
Console.WriteLine("Local time zone: {0}\n", TimeZoneInfo.Local.DisplayName);
// Convert each time in the array.
foreach (DateTimeOffset timeToConvert in times)
{
DateTimeOffset targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est);
Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime);
}
}
}
// The example displays the following output:
// Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//
// Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
// Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
// Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
// Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
open System
// Define times to be converted.
let time1 = DateTime(2010, 1, 1, 12, 1, 0)
let time2 = DateTime(2010, 11, 6, 23, 30, 0)
let times =
[| DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset time1)
DateTimeOffset(time1, TimeSpan.Zero)
DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset time2)
DateTimeOffset(time2.AddHours 3, TimeZoneInfo.Local.GetUtcOffset(time2.AddHours 3)) |]
// Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
try
let est = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"
// Display the current time zone name.
printfn $"Local time zone: {TimeZoneInfo.Local.DisplayName}\n"
// Convert each time in the array.
for timeToConvert in times do
let targetTime = TimeZoneInfo.ConvertTime(timeToConvert, est)
printfn $"Converted {timeToConvert} to {targetTime}."
with
| :? TimeZoneNotFoundException ->
printfn "Unable to retrieve the Eastern Standard time zone."
| :? InvalidTimeZoneException ->
printfn "Unable to retrieve the Eastern Standard time zone."
// The example displays the following output:
// Local time zone: (GMT-08:00) Pacific Time (US & Canada)
//
// Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
// Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
// Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
// Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
Module Example
Public Sub Main()
' Define times to be converted.
Dim time1 As Date = #1/1/2010 12:01AM#
Dim time2 As Date = #11/6/2010 11:30PM#
Dim times() As DateTimeOffset = { New DateTimeOffset(time1, TimeZoneInfo.Local.GetUtcOffset(time1)), _
New DateTimeOffset(time1, Timespan.Zero), _
New DateTimeOffset(time2, TimeZoneInfo.Local.GetUtcOffset(time2)), _
New DateTimeOffset(time2.AddHours(3), TimeZoneInfo.Local.GetUtcOffset(time2.AddHours(3))) }
' Retrieve the time zone for Eastern Standard Time (U.S. and Canada).
Dim est As TimeZoneInfo
Try
est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
Catch e As TimeZoneNotFoundException
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
Exit Sub
Catch e As InvalidTimeZoneException
Console.WriteLine("Unable to retrieve the Eastern Standard time zone.")
Exit Sub
End Try
' Display the current time zone name.
Console.WriteLine("Local time zone: {0}", TimeZoneInfo.Local.DisplayName)
Console.WriteLine()
' Convert each time in the array.
For Each timeToConvert As DateTimeOffset In times
Dim targetTime As DateTimeOffset = TimeZoneInfo.ConvertTime(timeToConvert, est)
Console.WriteLine("Converted {0} to {1}.", timeToConvert, targetTime)
Next
End Sub
End Module
' The example displays the following output:
' Local time zone: (GMT-08:00) Pacific Time (US & Canada)
'
' Converted 1/1/2010 12:01:00 AM -08:00 to 1/1/2010 3:01:00 AM -05:00.
' Converted 1/1/2010 12:01:00 AM +00:00 to 12/31/2009 7:01:00 PM -05:00.
' Converted 11/6/2010 11:30:00 PM -07:00 to 11/7/2010 1:30:00 AM -05:00.
' Converted 11/7/2010 2:30:00 AM -08:00 to 11/7/2010 5:30:00 AM -05:00.
Hinweise
Bei der Konvertierung wendet die ConvertTime(DateTimeOffset, TimeZoneInfo) -Methode alle in der destinationTimeZone
Zeitzone geltenden Anpassungsregeln an.
Diese Überladung unterscheidet sich von den anderen Überladungen der ConvertTime -Methode, indem sie einen DateTimeOffset Wert als ersten Parameter akzeptiert. Dadurch werden Datum und Uhrzeit als Offset der koordinierten Weltzeit (UTC) und nicht als Datum und Uhrzeit in einer bestimmten Zeitzone identifiziert. Daher kann der dateTimeOffset
Parameter weder eine mehrdeutige Zeit noch eine ungültige Uhrzeit darstellen.
Bei der Konvertierung des dateTimeOffset
Werts in die Zeit in der Zielzeitzone berücksichtigt diese Methode alle Anpassungsregeln, die in der Zielzeitzone gelten.
Wenn die Konvertierung von dateTimeOffset
führt ein Datum und Uhrzeit-Wert, der älter als DateTimeOffset.MinValue oder später als DateTimeOffset.MaxValue, gibt diese Methode DateTimeOffset.MinValue oder DateTimeOffset.MaxValuebzw.
Weitere Informationen
Gilt für:
ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)
- Quelle:
- TimeZoneInfo.cs
- Quelle:
- TimeZoneInfo.cs
- Quelle:
- TimeZoneInfo.cs
Konvertiert eine Zeit aus einer Zeitzone in ein andere.
public:
static DateTime ConvertTime(DateTime dateTime, TimeZoneInfo ^ sourceTimeZone, TimeZoneInfo ^ destinationTimeZone);
public static DateTime ConvertTime (DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfo destinationTimeZone);
static member ConvertTime : DateTime * TimeZoneInfo * TimeZoneInfo -> DateTime
Public Shared Function ConvertTime (dateTime As DateTime, sourceTimeZone As TimeZoneInfo, destinationTimeZone As TimeZoneInfo) As DateTime
Parameter
- dateTime
- DateTime
Das Datum und die Uhrzeit, die konvertiert werden sollen.
- sourceTimeZone
- TimeZoneInfo
Die Zeitzone von dateTime
.
- destinationTimeZone
- TimeZoneInfo
Die Zeitzone, in die dateTime
konvertiert werden soll.
Gibt zurück
Das Datum und die Uhrzeit in der Zielzeitzone, die dem dateTime
-Parameter in der Quellzeitzone entsprechen.
Ausnahmen
Die Kind-Eigenschaft des dateTime
-Parameters ist Local, aber der sourceTimeZone
-Parameter entspricht nicht Local.
- oder -
Die Kind-Eigenschaft des dateTime
-Parameters ist Utc, aber der sourceTimeZone
-Parameter entspricht nicht Utc.
- oder -
Der dateTime
-Parameter gibt eine ungültige Zeit an (d. h. er stellt eine Zeit dar, die aufgrund der Anpassungsregeln einer Zeitzone nicht vorhanden ist).
Der sourceTimeZone
-Parameter ist null
.
- oder -
Der destinationTimeZone
-Parameter ist null
.
Beispiele
Das folgende Beispiel veranschaulicht die Verwendung der ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) -Methode zum Konvertieren von hawaiianischer Standardzeit in Ortszeit.
DateTime hwTime = new DateTime(2007, 02, 01, 08, 00, 00);
try
{
TimeZoneInfo hwZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
Console.WriteLine("{0} {1} is {2} local time.",
hwTime,
hwZone.IsDaylightSavingTime(hwTime) ? hwZone.DaylightName : hwZone.StandardName,
TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local));
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.");
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Registry data on the Hawaiian Standard Time zone has been corrupted.");
}
let hwTime = DateTime(2007, 02, 01, 08, 00, 00)
try
let hwZone = TimeZoneInfo.FindSystemTimeZoneById "Hawaiian Standard Time"
printfn $"{hwTime} {if hwZone.IsDaylightSavingTime hwTime then hwZone.DaylightName else hwZone.StandardName} is {TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local)} local time."
with
| :? TimeZoneNotFoundException ->
printfn "The registry does not define the Hawaiian Standard Time zone."
| :? InvalidTimeZoneException ->
printfn "Registry data on the Hawaiian Standard Time zone has been corrupted."
Dim hwTime As Date = #2/01/2007 8:00:00 AM#
Try
Dim hwZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time")
Console.WriteLine("{0} {1} is {2} local time.", _
hwTime, _
IIf(hwZone.IsDaylightSavingTime(hwTime), hwZone.DaylightName, hwZone.StandardName), _
TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local))
Catch e As TimeZoneNotFoundException
Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.")
Catch e As InvalidTimeZoneException
Console.WriteLine("Registry data on the Hawaiian Standard Time zone has been corrupted.")
End Try
Hinweise
Bei der Konvertierung wendet die ConvertTime -Methode alle in der destinationTimeZone
Zeitzone geltenden Anpassungsregeln an.
Der Wert der Kind -Eigenschaft des dateTime
Parameters muss dem sourceTimeZone
-Parameter entsprechen, wie in der folgenden Tabelle gezeigt.
DateTime.Kind-Wert | sourceTimeZone-Wert | Methodenverhalten |
---|---|---|
DateTimeKind.Utc | Entspricht TimeZoneInfo.Utc. | Konvertiert dateTime in die Uhrzeit der Zielzeitzone. |
DateTimeKind.Utc | Does not equal TimeZoneInfo.Utc. | Löst eine aus ArgumentException. |
DateTimeKind.Local | Entspricht TimeZoneInfo.Local. | Konvertiert dateTime in die Uhrzeit der Zielzeitzone. |
DateTimeKind.Local | Does not equal TimeZoneInfo.Local. | Löst eine aus ArgumentException. |
DateTimeKind.Unspecified | Alle. | Konvertiert dateTime in die Uhrzeit der Zielzeitzone. |
Sie können auch in oder aus koordinierter Weltzeit (UTC) konvertieren, indem Sie die ConvertTimeFromUtc Methoden und ConvertTimeToUtc aufrufen.
Die Kind -Eigenschaft des zurückgegebenen Werts DateTime wird wie in der folgenden Tabelle dargestellt festgelegt.
Bedingung | Zurückgegebener Kind-Eigenschaftswert |
---|---|
Das destinationTimeZone -Argument lautet TimeZoneInfo.Utc. |
DateTimeKind.Utc |
Das destinationTimeZone -Argument lautet TimeZoneInfo.Local. |
DateTimeKind.Local |
Alle anderen Datums- und Uhrzeitwerte, Quellzeitzonen und Zielzeitzonen. | DateTimeKind.Unspecified |
Wenn der Wert des dateTime
Parameters eine mehrdeutige Zeit in der Quellzeitzone ist, wird er als Standardzeit interpretiert. Wenn der dateTime
Parameter eine ungültige Uhrzeit in der Quellzeitzone ist, löst diese Methode eine aus ArgumentException.
Wenn die Konvertierung von dateTime
führt ein Datum und Uhrzeit-Wert, der älter als DateTime.MinValue oder später als DateTime.MaxValue, gibt diese Methode DateTime.MinValue oder DateTime.MaxValuebzw.
Die ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) -Methode löst eine Ausnahme aus ArgumentException , wenn die DateTime.Kind -Eigenschaft des dateTime
Arguments ist DateTimeKind.Local , aber das sourceTimeZone
Argument nicht TimeZoneInfo.Localist. Um zu bestimmen, ob die Quellzeitzone die lokale Zeitzone oder die universelle Zeitzone ist, testet die Methode auf Verweisgleichheit, anstatt auf Wertgleichheit mit der Equals(TimeZoneInfo) Methode zu testen. Beachten Sie, dass TimeZoneInfo Objekte, die die lokale Zeitzone darstellen und durch Aufrufen der FindSystemTimeZoneById -Methode abgerufen werden, keine referenzielle Gleichheit mit aufweisen TimeZoneInfo.Local. Darüber hinaus haben Objekte, TimeZoneInfo die die lokale oder universelle Zeitzone darstellen und durch Iterieren der von der GetSystemTimeZones -Methode zurückgegebenen Auflistung abgerufen werden, keine referenzielle Gleichheit mit TimeZoneInfo.Local oder TimeZoneInfo.Utc. Alternativ können Sie die ConvertTimeBySystemTimeZoneId(DateTime, String, String) -Methode aufrufen.
Weitere Informationen
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für