TimeZoneInfo.IsAmbiguousTime Methode

Definition

Bestimmt, ob ein bestimmtes Datum und eine Uhrzeit in einer bestimmten Zeitzone mehrdeutig sind und zwei oder mehreren UTC-Zeiten (Coordinated Universal Time) zugeordnet werden können.

Überlädt

IsAmbiguousTime(DateTime)

Bestimmt, ob ein bestimmtes Datum und eine Uhrzeit in einer bestimmten Zeitzone mehrdeutig sind und zwei oder mehreren UTC-Zeiten (Coordinated Universal Time) zugeordnet werden können.

IsAmbiguousTime(DateTimeOffset)

Bestimmt, ob ein bestimmtes Datum und eine Uhrzeit in einer bestimmten Zeitzone mehrdeutig sind und zwei oder mehreren UTC-Zeiten (Coordinated Universal Time) zugeordnet werden können.

IsAmbiguousTime(DateTime)

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

Bestimmt, ob ein bestimmtes Datum und eine Uhrzeit in einer bestimmten Zeitzone mehrdeutig sind und zwei oder mehreren UTC-Zeiten (Coordinated Universal Time) zugeordnet werden können.

public:
 bool IsAmbiguousTime(DateTime dateTime);
public bool IsAmbiguousTime (DateTime dateTime);
member this.IsAmbiguousTime : DateTime -> bool
Public Function IsAmbiguousTime (dateTime As DateTime) As Boolean

Parameter

dateTime
DateTime

Ein Datums- und Uhrzeitwert.

Gibt zurück

true, wenn der dateTime-Parameter mehrdeutig ist, andernfalls false.

Ausnahmen

Die Kind-Eigenschaft des dateTime-Werts ist Local und dateTime ist eine ungültige Zeit.

Beispiele

In der Pazifischen Zeitzone endet die Sommerzeit am 4. November 2007 um 2:00 Uhr. Im folgenden Beispiel wird die Zeit in Intervallen von einer Minute von 12:59 Uhr am 4. November 2007 bis 2:01 Uhr am 4. November 2007 an die IsAmbiguousTime(DateTime) -Methode eines TimeZoneInfo Objekts übergeben, das die Pacific Time Zone darstellt. Die Konsolenausgabe gibt an, dass alle Zeiten von 1:00 Uhr am 4. November 2007 bis 1:59 Uhr am 4. November 2007 mehrdeutig sind.

   // Specify DateTimeKind in Date constructor
   DateTime baseTime = new DateTime(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified);
   DateTime newTime;

   // Get Pacific Standard Time zone
   TimeZoneInfo pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");

   // List possible ambiguous times for 63-minute interval, from 12:59 AM to 2:01 AM 
   for (int ctr = 0; ctr < 63; ctr++)
   {
      // Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
      newTime = baseTime.AddMinutes(ctr);   
      Console.WriteLine("{0} is ambiguous: {1}", newTime, pstZone.IsAmbiguousTime(newTime));
   }
// Specify DateTimeKind in Date constructor
let baseTime = DateTime(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified)

// Get Pacific Standard Time zone
let pstZone = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"

// List possible ambiguous times for 63-minute interval, from 12:59 AM to 2:01 AM 
for i = 0 to 62 do
// Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
    let newTime = baseTime.AddMinutes i   
    printfn $"{newTime} is ambiguous: {pstZone.IsAmbiguousTime newTime}"
' Specify DateTimeKind in Date constructor
Dim baseTime As New Date(2007, 11, 4, 0, 59, 00, DateTimeKind.Unspecified)
Dim newTime As Date

' Get Pacific Standard Time zone
Dim pstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")

' List possible ambiguous times for 63-minute interval, from 12:59 AM to 2:01 AM 
For ctr As Integer = 0 To 62
   ' Because of assignment, newTime.Kind is also DateTimeKind.Unspecified
   newTime = baseTime.AddMinutes(ctr)   
   Console.WriteLine("{0} is ambiguous: {1}", newTime, pstZone.IsAmbiguousTime(newTime))
Next

Hinweise

Eine mehrdeutige Zeit liegt innerhalb eines Zeitbereichs für die aktuelle Zeitzone. Dies bedeutet, dass es sich entweder um eine Standardzeit oder eine Zeit handelt, die sich aus der Anwendung einer Anpassungsregel ergibt. In der Regel ergeben sich mehrdeutige Zeiten, wenn die Uhr von der Sommerzeit auf die Normalzeit zurückgesetzt wird. Eine Abbildung finden Sie im Abschnitt Beispiel.

Koordinierte Weltzeit (UTC) hat keine mehrdeutigen Zeiten; Auch Zeitzonen, die keine Sommerzeit unterstützen. Daher haben diese Zeitzonen keine Anpassungsregeln, und Aufrufe der IsAmbiguousTime -Methode geben immer zurück false.

Für Zeitzonen, die Sommerzeit beobachten, hängt das genaue Verhalten dieser Methode von der Beziehung zwischen der Kind Eigenschaft und dem TimeZoneInfo Objekt ab, wie in der folgenden Tabelle gezeigt.

TimeZoneInfo-Objekttyp Kind-Eigenschaftswert Verhalten
TimeZoneInfo.Local DateTimeKind.Local oder DateTimeKind.Unspecified Bestimmt, ob der dateTime Parameter mehrdeutig ist.
TimeZoneInfo.Local DateTimeKind.Utc Konvertiert dateTime in die Ortszeit und bestimmt dann, ob diese Zeit mehrdeutig ist.
TimeZoneInfo.Utc DateTimeKind.Utc oder DateTimeKind.Unspecified Gibt falsezurück.
TimeZoneInfo.Utc DateTimeKind.Local Wenn dateTime mehrdeutig ist, wird davon ausgegangen, dass es sich um eine Standardzeit handelt, sie in UTC konvertiert und zurückgibt false.
Jede andere Zeitzone. DateTimeKind.Local oder DateTimeKind.Utc Konvertiert dateTime in die Zeit in der angegebenen Zeitzone und bestimmt dann, ob diese Zeit mehrdeutig ist.
Jede andere Zeitzone. DateTimeKind.Unspecified Bestimmt, ob dateTime mehrdeutig ist.

Weitere Informationen

Gilt für:

IsAmbiguousTime(DateTimeOffset)

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

Bestimmt, ob ein bestimmtes Datum und eine Uhrzeit in einer bestimmten Zeitzone mehrdeutig sind und zwei oder mehreren UTC-Zeiten (Coordinated Universal Time) zugeordnet werden können.

public:
 bool IsAmbiguousTime(DateTimeOffset dateTimeOffset);
public bool IsAmbiguousTime (DateTimeOffset dateTimeOffset);
member this.IsAmbiguousTime : DateTimeOffset -> bool
Public Function IsAmbiguousTime (dateTimeOffset As DateTimeOffset) As Boolean

Parameter

dateTimeOffset
DateTimeOffset

Ein Datum und eine Uhrzeit.

Gibt zurück

true, wenn der dateTimeOffset-Parameter in der aktuellen Zeitzone mehrdeutig ist, andernfalls false.

Hinweise

Eine mehrdeutige Zeit liegt innerhalb eines Zeitbereichs für die aktuelle Zeitzone. Dies bedeutet, dass es sich entweder um eine Standardzeit oder eine Zeit handelt, die sich aus der Anwendung einer Anpassungsregel ergibt. In der Regel ergeben sich mehrdeutige Zeiten, wenn die Uhr von der Sommerzeit auf die Normalzeit zurückgesetzt wird. Koordinierte Weltzeit (UTC) hat keine mehrdeutigen Zeiten; Auch Zeitzonen, die keine Sommerzeit unterstützen.

Das genaue Verhalten der Methode hängt von der Beziehung zwischen der Offset -Eigenschaft des dateTimeOffset Parameters und der aktuellen Zeitzone ab. Wenn der Wert der Offset -Eigenschaft ein möglicher Offset von der UTC der aktuellen Zeitzone ist, bestimmt die Methode, ob dieses Datum und die Uhrzeit mehrdeutig sind. Andernfalls dateTimeOffset wird in die Uhrzeit in der aktuellen Zeitzone konvertiert und anschließend bestimmt, ob das Datum und die Uhrzeit mehrdeutig sind.

Gilt für: