TimeZoneInfo.IsInvalidTime(DateTime) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Indique si une date et une heure particulières ne sont pas valides.
public:
bool IsInvalidTime(DateTime dateTime);
public bool IsInvalidTime(DateTime dateTime);
member this.IsInvalidTime : DateTime -> bool
Public Function IsInvalidTime (dateTime As DateTime) As Boolean
Paramètres
- dateTime
- DateTime
Valeur de date et d’heure.
Retours
true s’il dateTime n’est pas valide ; sinon, false.
Exemples
Dans le fuseau horaire du Pacifique, l’heure d’été commence à 2 h 00 le 2 avril 2006. Le code suivant passe l’heure à intervalles d’une minute entre 1:59 A.M. le 2 avril 2006, à 3:01 A.M. le 2 avril 2006, à la méthode d’un TimeZoneInfo objet qui représente le IsInvalidTime fuseau horaire pacifique. La sortie de la console indique que toutes les fois de 2 h 00 le 2 avril 2006 à 2 h 59 le 2 avril 2006 ne sont pas valides.
// 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
Remarques
Une heure non valide se situe dans une plage de temps pour le fuseau horaire actuel qui ne peut pas être mappé à l’heure universelle coordonnée (UTC) en raison de l’application d’une règle d’ajustement. En règle générale, des heures non valides se produisent lorsque le temps passe à l’avance pour l’heure d’été. Consultez la section Exemple pour obtenir une illustration.
La valeur de la Kind propriété du dateTime paramètre affecte s’il dateTime s’agit d’une heure non valide, comme le montre le tableau suivant.
| DateTime.Kind, propriété | Objet TimeZoneInfo (le cas échéant) | Comportement |
|---|---|---|
| DateTimeKind.Local | TimeZoneInfo.Local | Détermine si l’heure n’est pas valide. |
| DateTimeKind.Local | TimeZoneInfo.Utc ou un fuseau horaire non local. |
dateTime Convertit en l’heure de l’objet TimeZoneInfo et retourne false. |
| DateTimeKind.Unspecified | Non applicable. |
dateTime Suppose qu’il s’agit de l’heure de l’objet TimeZoneInfo et détermine s’il n’est pas valide. |
| DateTimeKind.Utc | Non applicable. | Retourne false. |