Freigeben über


TimeZoneInfo.ConvertTime Methode

Definition

Wandelt eine Uhrzeit in eine bestimmte Zeitzone um.

Überlädt

ConvertTime(DateTime, TimeZoneInfo)

Wandelt eine Uhrzeit in eine bestimmte Zeitzone um.

ConvertTime(DateTimeOffset, TimeZoneInfo)

Wandelt eine Uhrzeit in eine bestimmte Zeitzone um.

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Wandelt eine Zeit von einer Zeitzone in eine andere um.

ConvertTime(DateTime, TimeZoneInfo)

Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs

Wandelt eine Uhrzeit in eine bestimmte Zeitzone um.

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 soll.

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 stellt eine ungültige Uhrzeit dar.

Der Wert des destinationTimeZone-Parameters ist null.

Beispiele

Im folgenden Beispiel wird ein Array von Datums- und Uhrzeitwerten in Uhrzeiten in der Eastern Time Zone der USA und Kanada konvertiert. Es zeigt, dass die Quellzeitzone von der DateTime.Kind Eigenschaft des Quell-DateTime-Werts abhängt. Außerdem wird veranschaulicht, dass die ConvertTime Methode Zeitzonenanpassungen berücksichtigt, da am 7. November 2010 eine Zeitzonenanpassung in den Quell- und Zielzeitzonen um 2:00 Uhr 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

Beim Ausführen der Konvertierung wendet die ConvertTime(DateTimeOffset, TimeZoneInfo) Methode alle Anpassungsregeln an, die in der zeitzone destinationTimeZone wirksam sind.

Diese Überladung der ConvertTime(DateTime, TimeZoneInfo)-Methode bestimmt die Quellzeitzone aus dem Wert der Kind-Eigenschaft des dateTime Parameters, wie in der folgenden Tabelle dargestellt.

Kind-Eigenschaftswert Quellzeitzone Methodenverhalten
DateTimeKind.Local Local Wandelt die Ortszeit in die Uhrzeit in destinationTimeZoneum.
DateTimeKind.Utc Utc Wandelt koordinierte Weltzeit (UTC) in die Zeit in destinationTimeZoneum.
DateTimeKind.Unspecified Angenommen, Local. Wandelt die Ortszeit in die Uhrzeit in destinationTimeZoneum.

Die Kind-Eigenschaft des zurückgegebenen DateTime Werts wird wie in der folgenden Tabelle dargestellt festgelegt.

Zustand Rückgabewert der Kind-Eigenschaft
Die destinationTimeZone ist TimeZoneInfo.Utc. DateTimeKind.Utc
Die 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 parameter dateTime eine ungültige Ortszeit ist, löst diese Methode eine ArgumentExceptionaus.

Wenn die Konvertierung von dateTime zu einem Datums- und Uhrzeitwert führt, der vor DateTime.MinValue oder höher als DateTime.MaxValueliegt, gibt diese Methode DateTime.MinValue bzw. DateTime.MaxValuezurück.

Sie können auch in oder aus UTC konvertieren, indem Sie die methoden ConvertTimeFromUtc und ConvertTimeToUtc aufrufen.

Weitere Informationen

Gilt für:

ConvertTime(DateTimeOffset, TimeZoneInfo)

Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs

Wandelt eine Uhrzeit in eine bestimmte Zeitzone um.

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 soll.

destinationTimeZone
TimeZoneInfo

Die Zeitzone, in die dateTimeOffset 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 Eastern Time Zone der USA und Kanada konvertiert. Es zeigt, dass die ConvertTime-Methode Zeitzonenanpassungen berücksichtigt, da am 7. November 2010 eine Zeitzonenanpassung in den Quell- und Zielzeitzonen um 2:00 Uhr 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

Beim Ausführen der Konvertierung wendet die ConvertTime(DateTimeOffset, TimeZoneInfo) Methode alle Anpassungsregeln an, die in der zeitzone destinationTimeZone wirksam sind.

Diese Überladung unterscheidet sich von den anderen Überladungen der ConvertTime-Methode, indem ein DateTimeOffset Wert als erster Parameter akzeptiert wird. Dadurch wird das Datum und die Uhrzeit als Offset von koordinierter Weltzeit (COORDINATED Universal Time, UTC) und nicht als Datum und Uhrzeit in einer bestimmten Zeitzone identifiziert. Daher kann der parameter dateTimeOffset weder eine mehrdeutige Zeit noch eine ungültige Uhrzeit darstellen.

Bei der Konvertierung des dateTimeOffset Werts in die Uhrzeit in der Zielzeitzone berücksichtigt diese Methode alle Anpassungsregeln, die in der Zielzeitzone wirksam sind.

Wenn die Konvertierung von dateTimeOffset zu einem Datums- und Uhrzeitwert führt, der vor DateTimeOffset.MinValue oder höher als DateTimeOffset.MaxValueliegt, gibt diese Methode DateTimeOffset.MinValue bzw. DateTimeOffset.MaxValuezurück.

Weitere Informationen

Gilt für:

ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)

Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs
Quelle:
TimeZoneInfo.cs

Wandelt eine Zeit von einer Zeitzone in eine andere um.

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 soll.

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 parameter dateTime in der Quellzeitzone entspricht.

Ausnahmen

Die Kind Eigenschaft des dateTime Parameters ist Local, der parameter sourceTimeZone ist jedoch nicht gleich Local.

-oder-

Die Kind Eigenschaft des dateTime Parameters ist Utc, der parameter sourceTimeZone ist jedoch nicht gleich Utc.

-oder-

Der dateTime-Parameter ist eine ungültige Uhrzeit (d. a. sie stellt eine Uhrzeit dar, die aufgrund der Anpassungsregeln einer Zeitzone nicht vorhanden ist).

Der parameter sourceTimeZone ist null.

-oder-

Der parameter destinationTimeZone ist null.

Beispiele

Im folgenden Beispiel wird die Verwendung der ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)-Methode zum Konvertieren von hawaiianischer Standardzeit in die Ortszeit veranschaulicht.

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

Beim Ausführen der Konvertierung wendet die ConvertTime Methode alle Anpassungsregeln an, die in der zeitzone destinationTimeZone wirksam sind.

Der Wert der Kind-Eigenschaft des dateTime Parameters muss dem sourceTimeZone-Parameter entsprechen, wie in der folgenden Tabelle dargestellt.

DateTime.Kind-Wert sourceTimeZone-Wert Methodenverhalten
DateTimeKind.Utc Entspricht TimeZoneInfo.Utc. Konvertiert dateTime in die Uhrzeit der Zielzeit.
DateTimeKind.Utc Entspricht nicht TimeZoneInfo.Utc. Löst eine ArgumentExceptionaus.
DateTimeKind.Local Entspricht TimeZoneInfo.Local. Konvertiert dateTime in die Uhrzeit der Zielzeit.
DateTimeKind.Local Entspricht nicht TimeZoneInfo.Local. Löst eine ArgumentExceptionaus.
DateTimeKind.Unspecified Jegliche. Konvertiert dateTime in die Uhrzeit der Zielzeit.

Sie können auch in koordinierte Weltzeit (COORDINATED Universal Time, UTC) konvertieren, indem Sie die methoden ConvertTimeFromUtc und ConvertTimeToUtc aufrufen.

Die Kind-Eigenschaft des zurückgegebenen DateTime Werts wird wie in der folgenden Tabelle dargestellt festgelegt.

Zustand Rückgabewert der Kind-Eigenschaft
Das argument destinationTimeZone ist TimeZoneInfo.Utc. DateTimeKind.Utc
Das argument destinationTimeZone ist 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 parameter dateTime eine ungültige Uhrzeit in der Quellzeitzone ist, löst diese Methode eine ArgumentExceptionaus.

Wenn die Konvertierung von dateTime zu einem Datums- und Uhrzeitwert führt, der vor DateTime.MinValue oder höher als DateTime.MaxValueliegt, gibt diese Methode DateTime.MinValue bzw. DateTime.MaxValuezurück.

Die ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo)-Methode löst eine ArgumentException Ausnahme aus, wenn die DateTime.Kind-Eigenschaft des arguments dateTimeDateTimeKind.Local ist, das argument sourceTimeZone jedoch nicht TimeZoneInfo.Localist. Um festzustellen, ob es sich bei der Quellzeitzone um die lokale Zeitzone oder die universelle Zeitzone handelt, prüft die Methode die Referenzgleichheit, anstatt die 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 TimeZoneInfo.Localaufweisen. Darüber hinaus weisen TimeZoneInfo Objekte, die die lokale oder universelle Zeitzone darstellen und durch Durchlaufen 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: