TimeZoneInfo.IsInvalidTime(DateTime) 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.
Indica se una data e un'ora particolari non sono valide.
public:
bool IsInvalidTime(DateTime dateTime);
public bool IsInvalidTime (DateTime dateTime);
member this.IsInvalidTime : DateTime -> bool
Public Function IsInvalidTime (dateTime As DateTime) As Boolean
Parametri
- dateTime
- DateTime
Valore di data e ora.
Restituisce
true
se dateTime
non è valido; in caso contrario, false
.
Esempio
Nel fuso orario Pacifico, l'ora legale inizia alle 2:00 A.M. il 2 aprile 2006. Il codice seguente passa il tempo a intervalli di un minuto dalle 1:59 A.M. il 2 aprile 2006 alle 3:01 A.M. il 2 aprile 2006, al IsInvalidTime metodo di un TimeZoneInfo oggetto che rappresenta il fuso orario pacifico. L'output della console indica che tutte le volte dalle 2:00 il 2 aprile 2006 alle 2:59 il 2 aprile 2006 non è valido.
// Specify DateTimeKind in Date constructor
DateTime baseTime = new DateTime(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified);
DateTime newTime;
// Get Pacific Standard Time zone
TimeZoneInfo pstZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
// List possible invalid times for a 63-minute interval, from 1:59 AM to 3: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 invalid: {1}", newTime, pstZone.IsInvalidTime(newTime));
}
// Specify DateTimeKind in Date constructor
let baseTime = DateTime(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified)
// Get Pacific Standard Time zone
let pstZone = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"
// List possible invalid times for a 63-minute interval, from 1:59 AM to 3: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 invalid: {pstZone.IsInvalidTime newTime}"
' Specify DateTimeKind in Date constructor
Dim baseTime As New Date(2007, 3, 11, 1, 59, 0, DateTimeKind.Unspecified)
Dim newTime As Date
' Get Pacific Standard Time zone
Dim pstZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")
' List possible invalid times for 63-minute interval, from 1:59 AM to 3: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 invalid: {1}", newTime, pstZone.IsInvalidTime(newTime))
Next
Commenti
Un'ora non valida rientra in un intervallo di ore per il fuso orario corrente che non può essere mappato all'ora UTC (Coordinated Universal Time) a causa dell'applicazione di una regola di regolazione. In genere, i tempi non validi si verificano quando l'ora si sposta avanti per l'ora legale. Per un'illustrazione, vedere la sezione Esempio.
Il valore della proprietà del Kind dateTime
parametro influisce se dateTime
rappresenta un tempo non valido, come illustrato nella tabella seguente.
Proprietà DateTime.Kind | Oggetto TimeZoneInfo (se applicabile) | Comportamento |
---|---|---|
DateTimeKind.Local | TimeZoneInfo.Local | Determina se l'ora non è valida. |
DateTimeKind.Local | TimeZoneInfo.Utc o un fuso orario non locale. | Converte dateTime nell'ora dell'oggetto TimeZoneInfo e restituisce false . |
DateTimeKind.Unspecified | Non applicabile. | dateTime Si supponga che sia l'ora dell'oggetto TimeZoneInfo e determina se non è valida. |
DateTimeKind.Utc | Non applicabile. | Restituisce false . |