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 determinata data e ora non è valida.
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 non è valido; in dateTime caso contrario, false.
Esempio
Nel fuso orario pacifico, l'ora legale inizia alle 2:00 del 2 aprile 2006. Il codice seguente passa la volta a intervalli di un minuto dalle 1:59 del 2 aprile 2006 alle 3:01 del 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 del 2 aprile 2006 alle 2.59 del 2 aprile 2006 non sono valide.
// 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 di cui non è possibile eseguire il mapping all'ora UTC (Coordinated Universal Time) a causa dell'applicazione di una regola di regolazione. In genere, si verificano orari non validi quando l'ora si sposta in avanti per l'ora legale. Per un'illustrazione, vedere la sezione Esempio.
Il valore della Kind proprietà del dateTime parametro influisce sul fatto che dateTime rappresenta un'ora non valida, 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. | Si supponga dateTime che sia l'ora dell'oggetto TimeZoneInfo e determini se non è valida. |
| DateTimeKind.Utc | Non applicabile. | Restituisce false. |