TimeZoneInfo.IsAmbiguousTime Metoda

Definicja

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

truedateTime jeśli parametr jest niejednoznaczny; w przeciwnym razie . false

Wyjątki

Właściwość KinddateTime wartości to Local i dateTime jest nieprawidłowym czasem.

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

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

Dotyczy