TimeZoneInfo.IsAmbiguousTime Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Determina se una data e un'ora particolari in un fuso orario specifico sono ambigue o meno e se possono essere mappate a due o più ore UTC (Coordinated Universal Time).
Overload
IsAmbiguousTime(DateTime) |
Determina se una data e un'ora particolari in un fuso orario specifico sono ambigue o meno e se possono essere mappate a due o più ore UTC (Coordinated Universal Time). |
IsAmbiguousTime(DateTimeOffset) |
Determina se una data e un'ora particolari in un fuso orario specifico sono ambigue o meno e se possono essere mappate a due o più ore UTC (Coordinated Universal Time). |
IsAmbiguousTime(DateTime)
- Origine:
- TimeZoneInfo.cs
- Origine:
- TimeZoneInfo.cs
- Origine:
- TimeZoneInfo.cs
Determina se una data e un'ora particolari in un fuso orario specifico sono ambigue o meno e se possono essere mappate a due o più ore UTC (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
Parametri
- dateTime
- DateTime
Valore di data e ora.
Restituisce
true
se il parametro dateTime
è ambiguo; in caso contrario, false
.
Eccezioni
Esempio
Nel fuso orario Pacifico l'ora legale termina alle 2:00 A.M. il 4 novembre 2007. L'esempio seguente passa l'ora a intervalli di un minuto dalle 12:59 A.M. il 4 novembre 2007 alle 2:01 A.M. il 4 novembre 2007, al metodo di un TimeZoneInfo oggetto che rappresenta il IsAmbiguousTime(DateTime) fuso orario Pacifico. L'output della console indica che tutte le volte dalle 1:00 A.M. il 4 novembre 2007 alle 1:59 A.M. il 4 novembre 2007 sono ambigue.
// 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
Commenti
Un'ora ambigua rientra in un intervallo di ore per il fuso orario corrente. Ciò significa che può essere un'ora standard o un'ora che determina l'applicazione di una regola di regolazione. In genere, i tempi ambigui generano quando l'orologio è impostato per tornare all'ora legale dall'ora legale. Per un'illustrazione, vedere la sezione Esempio.
L'ora UTC (Coordinated Universal Time) non ha tempi ambigui; né i fusi orari che non supportano l'ora legale. Pertanto, questi fusi orari non hanno regole di regolazione e chiamate al IsAmbiguousTime metodo restituiscono false
sempre .
Per i fusi orari che osservano l'ora legale, il comportamento preciso di questo metodo dipende dalla relazione tra la Kind proprietà e l'oggetto TimeZoneInfo , come illustrato nella tabella seguente.
Tipo di oggetto TimeZoneInfo | Valore della proprietà Kind | Comportamento |
---|---|---|
TimeZoneInfo.Local | DateTimeKind.Local o DateTimeKind.Unspecified | Determina se il dateTime parametro è ambiguo. |
TimeZoneInfo.Local | DateTimeKind.Utc | Converte dateTime nell'ora locale e quindi determina se l'ora è ambigua. |
TimeZoneInfo.Utc | DateTimeKind.Utc o DateTimeKind.Unspecified | Restituisce false . |
TimeZoneInfo.Utc | DateTimeKind.Local | Se dateTime è ambiguo, presuppone che sia un orario standard, lo converte in UTC e restituisce false . |
Qualsiasi altro fuso orario. | DateTimeKind.Local o DateTimeKind.Utc | Converte dateTime nell'ora nel fuso orario specificato e quindi determina se l'ora è ambigua. |
Qualsiasi altro fuso orario. | DateTimeKind.Unspecified | Determina se dateTime è ambiguo. |
Vedi anche
Si applica a
IsAmbiguousTime(DateTimeOffset)
- Origine:
- TimeZoneInfo.cs
- Origine:
- TimeZoneInfo.cs
- Origine:
- TimeZoneInfo.cs
Determina se una data e un'ora particolari in un fuso orario specifico sono ambigue o meno e se possono essere mappate a due o più ore UTC (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
Parametri
- dateTimeOffset
- DateTimeOffset
Data e ora.
Restituisce
true
se il parametro dateTimeOffset
è ambiguo nel fuso orario corrente; in caso contrario, false
.
Commenti
Un'ora ambigua rientra in un intervallo di ore per il fuso orario corrente. Ciò significa che può essere un'ora standard o un'ora che determina l'applicazione di una regola di regolazione. In genere, i tempi ambigui generano quando l'orologio è impostato per tornare all'ora legale dall'ora legale. L'ora UTC (Coordinated Universal Time) non ha tempi ambigui; né i fusi orari che non supportano l'ora legale.
Il comportamento preciso del metodo dipende dalla relazione tra la Offset proprietà del dateTimeOffset
parametro e il fuso orario corrente. Se il valore della Offset proprietà è un offset possibile dall'UTC del fuso orario corrente, il metodo determina se tale data e ora è ambigua. In caso contrario, converte dateTimeOffset
nell'ora nel fuso orario corrente e quindi determina se tale data e ora è ambigua.