TimeZoneInfo.IsAmbiguousTime Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, czy określona data i godzina w określonej strefie czasowej jest niejednoznaczna i może być mapowana na co najmniej dwa czasy uniwersalnego koordynowanego czasu (UTC).
Przeciążenia
IsAmbiguousTime(DateTime) |
Określa, czy określona data i godzina w określonej strefie czasowej jest niejednoznaczna i może być mapowana na co najmniej dwa czasy uniwersalnego koordynowanego czasu (UTC). |
IsAmbiguousTime(DateTimeOffset) |
Określa, czy określona data i godzina w określonej strefie czasowej jest niejednoznaczna i może być mapowana na co najmniej dwa czasy uniwersalnego koordynowanego czasu (UTC). |
IsAmbiguousTime(DateTime)
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
Określa, czy określona data i godzina w określonej strefie czasowej jest niejednoznaczna i może być mapowana na co najmniej dwa czasy uniwersalnego koordynowanego czasu (UTC).
public:
bool IsAmbiguousTime(DateTime dateTime);
public bool IsAmbiguousTime (DateTime dateTime);
member this.IsAmbiguousTime : DateTime -> bool
Public Function IsAmbiguousTime (dateTime As DateTime) As Boolean
Parametry
- dateTime
- DateTime
Wartość daty i godziny.
Zwraca
true
dateTime
jeśli parametr jest niejednoznaczny; w przeciwnym razie . false
Wyjątki
Przykłady
W strefie czasowej Pacyfik czas letni kończy się o godzinie 2:00 w dniu 4 listopada 2007 r. Poniższy przykład przekazuje czas w odstępach 12:59 od 12:59 w dniu 4 listopada 2007 r. do 2:01 w dniu 4 listopada 2007 r. do IsAmbiguousTime(DateTime) metody TimeZoneInfo obiektu reprezentującego strefę czasową pacyficznego. Dane wyjściowe konsoli wskazują, że wszystkie czasy od 1:00 rano 4 listopada 2007 r. do 1:59 w dniu 4 listopada 2007 r. są niejednoznaczne.
// 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
Uwagi
Niejednoznaczny czas mieści się w przedziale czasu dla bieżącej strefy czasowej. Oznacza to, że może to być czas standardowy lub czas wynikający z zastosowania reguły korekty. Zazwyczaj niejednoznaczny czas jest wynikiem, gdy zegar ma powrócić do standardowego czasu od czasu letniego. Zobacz sekcję Przykład, aby zapoznać się z ilustracją.
Uniwersalny czas koordynowany (UTC) nie ma niejednoznacznych godzin; Ani stref czasowych, które nie obsługują czasu letniego. W związku z tym te strefy czasowe nie mają reguł korekty i wywołania IsAmbiguousTime metody zawsze zwracają wartość false
.
W przypadku stref czasowych, które obserwują czas letni, dokładne zachowanie tej metody zależy od relacji między Kind właściwością a obiektem TimeZoneInfo , jak pokazano w poniższej tabeli.
Typ obiektu TimeZoneInfo | Wartość właściwości kind | Zachowanie |
---|---|---|
TimeZoneInfo.Local | DateTimeKind.Local lub DateTimeKind.Unspecified | Określa, czy dateTime parametr jest niejednoznaczny. |
TimeZoneInfo.Local | DateTimeKind.Utc | Konwertuje dateTime na czas lokalny, a następnie określa, czy ten czas jest niejednoznaczny. |
TimeZoneInfo.Utc | DateTimeKind.Utc lub DateTimeKind.Unspecified | Zwraca wartość false . |
TimeZoneInfo.Utc | DateTimeKind.Local | Jeśli dateTime parametr jest niejednoznaczny, zakłada, że jest to standardowy czas, konwertuje go na czas UTC i zwraca wartość false . |
Każda inna strefa czasowa. | DateTimeKind.Local lub DateTimeKind.Utc | Konwertuje dateTime na czas w określonej strefie czasowej, a następnie określa, czy czas ten jest niejednoznaczny. |
Każda inna strefa czasowa. | DateTimeKind.Unspecified | Określa, czy dateTime jest niejednoznaczny. |
Zobacz też
Dotyczy
IsAmbiguousTime(DateTimeOffset)
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
- Źródło:
- TimeZoneInfo.cs
Określa, czy określona data i godzina w określonej strefie czasowej jest niejednoznaczna i może być mapowana na co najmniej dwa czasy uniwersalnego koordynowanego czasu (UTC).
public:
bool IsAmbiguousTime(DateTimeOffset dateTimeOffset);
public bool IsAmbiguousTime (DateTimeOffset dateTimeOffset);
member this.IsAmbiguousTime : DateTimeOffset -> bool
Public Function IsAmbiguousTime (dateTimeOffset As DateTimeOffset) As Boolean
Parametry
- dateTimeOffset
- DateTimeOffset
Data i godzina.
Zwraca
true
dateTimeOffset
jeśli parametr jest niejednoznaczny w bieżącej strefie czasowej; w przeciwnym razie . false
Uwagi
Niejednoznaczny czas mieści się w przedziale czasu dla bieżącej strefy czasowej. Oznacza to, że może to być czas standardowy lub czas wynikający z zastosowania reguły korekty. Zazwyczaj niejednoznaczny czas jest wynikiem, gdy zegar ma powrócić do standardowego czasu od czasu letniego. Uniwersalny czas koordynowany (UTC) nie ma niejednoznacznych godzin; Ani stref czasowych, które nie obsługują czasu letniego.
Dokładne zachowanie metody zależy od relacji między Offset właściwością parametru dateTimeOffset
a bieżącą strefą czasową. Jeśli wartość Offset właściwości jest możliwym przesunięciem od czasu UTC bieżącej strefy czasowej, metoda określa, czy ta data i godzina jest niejednoznaczna. W przeciwnym razie konwertuje dateTimeOffset
na godzinę w bieżącej strefie czasowej, a następnie określa, czy data i godzina są niejednoznaczne.