TimeZoneInfo.IsAmbiguousTime Metod

Definition

Avgör om ett visst datum och en viss tid i en viss tidszon är tvetydig och kan mappas till två eller flera UTC-tider (Coordinated Universal Time).

Överlagringar

Name Description
IsAmbiguousTime(DateTime)

Avgör om ett visst datum och en viss tid i en viss tidszon är tvetydig och kan mappas till två eller flera UTC-tider (Coordinated Universal Time).

IsAmbiguousTime(DateTimeOffset)

Avgör om ett visst datum och en viss tid i en viss tidszon är tvetydig och kan mappas till två eller flera UTC-tider (Coordinated Universal Time).

IsAmbiguousTime(DateTime)

Källa:
TimeZoneInfo.cs
Källa:
TimeZoneInfo.cs
Källa:
TimeZoneInfo.cs
Källa:
TimeZoneInfo.cs
Källa:
TimeZoneInfo.cs

Avgör om ett visst datum och en viss tid i en viss tidszon är tvetydig och kan mappas till två eller flera UTC-tider (Coordinated Universal Time).

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

Parametrar

dateTime
DateTime

Ett datum- och tidsvärde.

Returer

trueom parametern dateTime är tvetydig, annars . false

Undantag

Värdets KinddateTime egenskap är Local och dateTime är en ogiltig tid.

Exempel

I Pacific Time-zonen slutar sommartiden kl. 02:00 den 4 november 2007. I följande exempel skickas tiden med en minuts intervall från 12:59 den 4 november 2007 till 02:01 den 4 november 2007 till metoden för IsAmbiguousTime(DateTime) ett TimeZoneInfo objekt som representerar Tidszon i Stillahavsområdet. Konsolens utdata anger att alla tider från 01:00 den 4 november 2007 till 01:59 den 4 november 2007 är tvetydiga.

   // 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

Kommentarer

En tvetydig tid ligger inom ett tidsintervall för den aktuella tidszonen. Det innebär att det kan vara antingen en standardtid eller en tid som är resultatet av tillämpningen av en justeringsregel. Vanligtvis resulterar tvetydiga tider när klockan är inställd på att återgå till standardtid från sommartid. Se avsnittet Exempel för en bild.

Coordinated Universal Time (UTC) har inga tvetydiga tider; inte heller tidszoner som inte stöder sommartid. Därför har dessa tidszoner inga justeringsregler och anrop till IsAmbiguousTime metoden returnerar falsealltid .

För tidszoner som observerar sommartid beror metodens exakta beteende på relationen mellan Kind egenskapen och TimeZoneInfo objektet, som visas i följande tabell.

Objekttyp för TimeZoneInfo Typegenskapsvärde Behavior
TimeZoneInfo.Local DateTimeKind.Local eller DateTimeKind.Unspecified Avgör om parametern dateTime är tvetydig.
TimeZoneInfo.Local DateTimeKind.Utc Konverterar dateTime till den lokala tiden och avgör sedan om den tiden är tvetydig.
TimeZoneInfo.Utc DateTimeKind.Utc eller DateTimeKind.Unspecified Returnerar false.
TimeZoneInfo.Utc DateTimeKind.Local Om dateTime är tvetydigt förutsätter vi att det är en standardtid, konverterar den till UTC och returnerar false.
Alla andra tidszoner. DateTimeKind.Local eller DateTimeKind.Utc Konverterar dateTime till tiden i den angivna tidszonen och avgör sedan om den tiden är tvetydig.
Alla andra tidszoner. DateTimeKind.Unspecified Avgör om dateTime det är tvetydigt.

Se även

Gäller för

IsAmbiguousTime(DateTimeOffset)

Källa:
TimeZoneInfo.cs
Källa:
TimeZoneInfo.cs
Källa:
TimeZoneInfo.cs
Källa:
TimeZoneInfo.cs
Källa:
TimeZoneInfo.cs

Avgör om ett visst datum och en viss tid i en viss tidszon är tvetydig och kan mappas till två eller flera UTC-tider (Coordinated Universal Time).

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

Parametrar

dateTimeOffset
DateTimeOffset

Ett datum och en tid.

Returer

true om parametern dateTimeOffset är tvetydig i den aktuella tidszonen, falseannars .

Kommentarer

En tvetydig tid ligger inom ett tidsintervall för den aktuella tidszonen. Det innebär att det kan vara antingen en standardtid eller en tid som är resultatet av tillämpningen av en justeringsregel. Vanligtvis resulterar tvetydiga tider när klockan är inställd på att återgå till standardtid från sommartid. Coordinated Universal Time (UTC) har inga tvetydiga tider; inte heller tidszoner som inte stöder sommartid.

Metodens exakta beteende beror på relationen mellan parameterns OffsetdateTimeOffset egenskap och den aktuella tidszonen. Om värdet för Offset egenskapen är en möjlig förskjutning från UTC för den aktuella tidszonen avgör metoden om datum och tid är tvetydiga. Annars konverteras dateTimeOffset den till tiden i den aktuella tidszonen och avgör sedan om datum och tid är tvetydiga.

Gäller för