TimeZoneInfo.IsAmbiguousTime 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.
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
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 false zurü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.