Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
DateTime, structure
Collapse the table of content
Expand the table of content
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

DateTime, structure

Représente un instant, généralement exprimé sous la forme d'une date ou d'une heure.

Pour parcourir le code source du .NET Framework pour ce type, consultez Source de référence.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)

[SerializableAttribute]
public struct DateTime : IComparable, IFormattable, 
	IConvertible, ISerializable, IComparable<DateTime>, IEquatable<DateTime>

Le type DateTime expose les membres suivants.

  NomDescription
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDateTime(Int64)Initialise une nouvelle instance de la structure DateTime avec le nombre de graduations spécifié.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDateTime(Int64, DateTimeKind)Initialise une nouvelle instance de la structure DateTime avec un nombre spécifié de graduations et une heure UTC ou locale.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDateTime(Int32, Int32, Int32)Initialise une nouvelle instance de la structure DateTime avec l'année, le mois et le jour spécifiés.
Méthode publiquePris en charge par XNA FrameworkDateTime(Int32, Int32, Int32, Calendar)Initialise une nouvelle instance de la structure DateTime avec l'année, le mois et le jour spécifiés pour le calendrier spécifié.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDateTime(Int32, Int32, Int32, Int32, Int32, Int32) Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde spécifiés et l'UTC (Coordinated Universal Time) ou l'heure locale.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, et l'heure UTC ou locale.
Méthode publiquePris en charge par XNA FrameworkDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, la minute et la seconde spécifiés pour le calendrier spécifié.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, la minute, la seconde et la milliseconde spécifiés.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde, et l'heure UTC ou locale.
Méthode publiquePris en charge par XNA FrameworkDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde et la milliseconde spécifiés pour le calendrier spécifié.
Méthode publiquePris en charge par XNA FrameworkDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)Initialise une nouvelle instance de la structure DateTime avec l'année, le mois, le jour, l'heure, la minute, la seconde, la milliseconde, et l'heure UTC ou locale spécifiés pour le calendrier spécifié.
Début

  NomDescription
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDateObtient le composant "date" de cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDayObtient le jour du mois représenté par cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDayOfWeekObtient le jour de semaine représenté par cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDayOfYearObtient le jour de l'année représenté par cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreHourObtient le composant "heure" de la date représentée par cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreKindObtient une valeur qui indique si l'heure représentée par cette instance se base sur l'heure locale, l'heure UTC, ou aucune des deux.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMillisecondObtient le composant "millisecondes" de la date représentée par cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMinuteObtient le composant "minutes" de la date représentée par cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMonthObtient le composant "mois" de la date représentée par cette instance.
Propriété publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreNowObtient un objet DateTime qui a pour valeur la date et l'heure actuelles sur cet ordinateur, exprimées en temps local.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreSecondObtient le composant "secondes" de la date représentée par cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTicksObtient le nombre de graduations représentant la date et l'heure de cette instance.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTimeOfDayObtient l'heure de cette instance.
Propriété publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTodayObtient la date actuelle.
Propriété publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreUtcNowObtient un objet DateTime qui a pour valeur la date et l'heure actuelles sur cet ordinateur, exprimées en temps UTC.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreYearObtient le composant "année" de la date représentée par cette instance.
Début

  NomDescription
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddRetourne un nouveau DateTime qui ajoute la valeur du TimeSpan spécifié à la valeur de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddDaysRetourne un nouveau DateTime qui ajoute le nombre de jours spécifié à la valeur de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddHoursRetourne un nouveau DateTime qui ajoute le nombre d'heures spécifié à la valeur de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddMillisecondsRetourne un nouveau DateTime qui ajoute le nombre de millisecondes spécifié à la valeur de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddMinutesRetourne un nouveau DateTime qui ajoute le nombre de minutes spécifié à la valeur de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddMonthsRetourne un nouveau DateTime qui ajoute le nombre de mois spécifié à la valeur de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddSecondsRetourne un nouveau DateTime qui ajoute le nombre de secondes spécifié à la valeur de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddTicksRetourne un nouveau DateTime qui ajoute le nombre de graduations spécifié à la valeur de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAddYearsRetourne un nouveau DateTime qui ajoute le nombre d'années spécifié à la valeur de cette instance.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreCompareCompare deux instances de DateTime et retourne un entier qui indique si la première instance est antérieure, identique, ou ultérieure à la deuxième instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreCompareTo(DateTime)Compare la valeur de cette instance à une valeur DateTime spécifiée et retourne un entier qui indique si cette instance est antérieure, identique ou ultérieure à la valeur DateTime spécifiée.
Méthode publiquePris en charge par XNA FrameworkCompareTo(Object)Compare la valeur de cette instance à un objet spécifié qui contient une valeur DateTime spécifiée, et retourne un entier qui indique si cette instance est antérieure, identique ou ultérieure à la valeur DateTime spécifiée.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreDaysInMonthRetourne le nombre de jours compris dans le mois et l'année spécifiés.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEquals(DateTime)Renvoie une valeur indiquant si la valeur de cette instance est égale à la valeur de l'instance DateTime spécifiée.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEquals(Object)Renvoie une valeur indiquant si cette instance équivaut à un objet spécifié. (Substitue ValueType.Equals(Object).)
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEquals(DateTime, DateTime)Retourne une valeur indiquant si deux instances de DateTime représentent la même valeur de date et d'heure.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreFromBinaryDésérialise une valeur binaire 64 bits et recrée un objet DateTime sérialisé d'origine.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreFromFileTimeConvertit l'heure de fichier Windows spécifiée en heure locale équivalente.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreFromFileTimeUtcConvertit l'heure de fichier Windows spécifiée en heure UTC équivalente.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkFromOADateRetourne un DateTime qui équivaut à la date OLE Automation spécifiée.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetDateTimeFormats()Convertit la valeur de cette instance en toutes les représentations sous forme de chaîne prises en charge par les spécificateurs de format de date et d'heure standard.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetDateTimeFormats(Char)Convertit la valeur de cette instance en toutes les représentations sous forme de chaîne prises en charge par le spécificateur de format de date et d'heure standard spécifié.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetDateTimeFormats(IFormatProvider)Convertit la valeur de cette instance en toutes les représentations sous forme de chaîne prises en charge par les spécificateurs de format de date et d'heure standard spécifié et les données de format propres à la culture spécifiées.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetDateTimeFormats(Char, IFormatProvider)Convertit la valeur de cette instance en toutes les représentations sous forme de chaîne prises en charge par le spécificateur de format de date et d'heure standard spécifié et les données de format propres à la culture.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetHashCodeRetourne le code de hachage de cette instance. (Substitue ValueType.GetHashCode().)
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkGetTypeCodeRetourne le TypeCode du type valeur DateTime.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIsDaylightSavingTimeIndique si cette instance de DateTime est dans la plage d'heures d'été pour le fuseau horaire actuel.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIsLeapYearRetourne une indication confirmant si l'année spécifiée est une année bissextile.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreParse(String)Convertit la représentation sous forme de chaîne d'une date et d'une heure en DateTime équivalent.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreParse(String, IFormatProvider)Convertit la représentation sous forme de chaîne d'une date et d'une heure en DateTime équivalent à l'aide des informations de format propres à la culture.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreParse(String, IFormatProvider, DateTimeStyles)Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en DateTime équivalent à l'aide des informations et du style de format propres à la culture.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreParseExact(String, String, IFormatProvider)Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en DateTime équivalent à l'aide des informations de format propres à la culture et au format spécifiés. Le format de la chaîne doit correspondre exactement au format spécifié.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreParseExact(String, String, IFormatProvider, DateTimeStyles)Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en DateTime équivalent à l'aide des informations et du style de format propres à la culture spécifiés. Le format de la représentation sous forme de chaîne doit correspondre exactement au format spécifié, ou une exception est levée.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreParseExact(String, String[], IFormatProvider, DateTimeStyles)Convertit la représentation sous forme de chaîne spécifiée d'une date et heure en DateTime équivalent à l'aide du tableau de formats, des informations et du style de format propres à la culture spécifiés. Le format de la représentation sous forme de chaîne doit correspondre exactement à au moins l'un des formats spécifiés, ou une exception est levée.
Méthode publiqueMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreSpecifyKindCrée un objet DateTime qui a le même nombre de graduations que le DateTime spécifié, mais qui est désigné comme une heure locale, une heure UTC ou aucune des deux, en fonction de ce que la valeur DateTimeKind spécifiée indique.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreSubtract(DateTime)Soustrait la date et l'heure spécifiées de cette instance.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreSubtract(TimeSpan)Soustrait la durée spécifiée de cette instance.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToBinarySérialise l'objet DateTime en cours en une valeur binaire 64 bits qui pourra ensuite être utilisée pour recréer l'objet DateTime.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToFileTimeConvertit la valeur de l'objet DateTime en cours en heure de fichier Windows.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToFileTimeUtcConvertit la valeur de l'objet DateTime en cours en heure de fichier Windows.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToLocalTimeConvertit la valeur de l'objet DateTime en cours en heure locale.
Méthode publiquePris en charge par XNA FrameworkToLongDateStringConvertit la valeur de l'objet DateTime en cours en sa représentation sous forme de chaîne de date longue équivalente.
Méthode publiquePris en charge par XNA FrameworkToLongTimeStringConvertit la valeur de l'objet DateTime en cours en sa représentation sous forme de chaîne d'heure complète équivalente.
Méthode publiquePris en charge par XNA FrameworkToOADateConvertit la valeur de cette instance en date OLE Automation équivalente.
Méthode publiquePris en charge par XNA FrameworkToShortDateStringConvertit la valeur de l'objet DateTime actif en sa représentation sous forme de chaîne de date courte équivalente.
Méthode publiquePris en charge par XNA FrameworkToShortTimeStringConvertit la valeur de l'objet DateTime en cours en sa représentation sous forme de chaîne d'heure abrégée équivalente.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToString()Convertit la valeur de l'objet DateTime actuel en sa représentation équivalente sous forme de chaîne. (Substitue ValueType.ToString().)
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToString(IFormatProvider)Convertit la valeur de l'objet DateTime actuel en sa représentation sous forme de chaîne équivalente à l'aide des informations de format propres à la culture spécifiées.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToString(String)Convertit la valeur de l'objet DateTime actif en sa représentation équivalente sous forme de chaîne en utilisant le format spécifié.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToString(String, IFormatProvider)Convertit la valeur de l'objet DateTime actif en sa représentation sous forme de chaîne équivalente à l'aide du format et des informations de format spécifiques à la culture spécifiés.
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToUniversalTimeConvertit la valeur de l'objet DateTime en cours en Temps universel coordonné (UTC).
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTryParse(String, DateTime)Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en son équivalent DateTime et retourne une valeur qui indique si la conversion a réussi.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTryParse(String, IFormatProvider, DateTimeStyles, DateTime)Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en son équivalent DateTime à l'aide des informations de format et du style de mise en forme propres à la culture, et retourne une valeur qui indique si la conversion a réussi.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime)Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en DateTime équivalent à l'aide des informations et du style de format propres à la culture spécifiés. Le format de la chaîne doit correspondre exactement au format spécifié. La méthode retourne une valeur qui indique si la conversion a réussi.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)Convertit la représentation sous forme de chaîne spécifiée d'une date et heure en DateTime équivalent à l'aide du tableau de formats, des informations et du style de format propres à la culture spécifiés. Le format de la chaîne doit correspondre exactement à au moins un des formats spécifiés. La méthode retourne une valeur qui indique si la conversion a réussi.
Début

  NomDescription
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAdditionAjoute un intervalle de temps spécifié à une date et une heure spécifiées, générant une nouvelle date et heure.
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEqualityDétermine si deux instances spécifiées de DateTime sont égales.
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGreaterThanDétermine si un DateTime spécifié est ultérieur à un autre DateTime spécifié.
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGreaterThanOrEqualDétermine si un DateTime spécifié représente une date et une heure identiques ou ultérieures à un autre DateTimespécifié.
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreInequalityDétermine si deux instances spécifiées de DateTime ne sont pas égales.
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreLessThanDétermine si un DateTime spécifié est antérieur à un autre DateTime spécifié.
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreLessThanOrEqualDétermine si un DateTime spécifié représente une date et une heure identiques ou antérieures à un autre DateTimespécifié.
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreSubtraction(DateTime, DateTime)Soustrait une date et une heure spécifiées des autres date et heure spécifiées, et retourne un intervalle de temps.
Opérateur publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreSubtraction(DateTime, TimeSpan)Soustrait un intervalle de temps spécifié d'une date et d'une heure spécifiées et retourne une nouvelle date et heure.
Début

  NomDescription
Champ publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMaxValueReprésente la plus grande valeur possible de DateTime. Ce champ est en lecture seule.
Champ publicMembre statiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMinValueReprésente la plus petite valeur possible de DateTime. Ce champ est en lecture seule.
Début

  NomDescription
Implémentation d'interface expliciteMéthode privéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIComparable.CompareToCompare l'instance actuelle avec un autre objet du même type et retourne un entier qui indique si cette instance précède ou suit un autre objet ou se trouve à la même position dans l'ordre de tri.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToBooleanInfrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToByteInfrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToCharInfrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToDateTimeInfrastructure. Retourne l'objet DateTime en cours.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToDecimalInfrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToDoubleInfrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToInt16Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToInt32Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToInt64Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToSByteInfrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToSingleInfrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToTypeInfrastructure. Convertit l'objet DateTime en cours en un objet de type spécifié.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToUInt16Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToUInt32Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéePris en charge par XNA FrameworkIConvertible.ToUInt64Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException.
Implémentation d'interface expliciteMéthode privéeISerializable.GetObjectDataRemplit un objet SerializationInfo avec les données nécessaires à la sérialisation de l'objet DateTime actif.
Début

Pour afficher le code source du .NET Framework pour ce type, consultez Source de référence. Vous pouvez parcourir le code source en ligne, télécharger la référence pour l'affichage en mode hors connexion, puis parcourir les sources (correctifs logiciels notamment la mise à jour) pendant le débogage ; consultez instruction.

Le type de valeur d'DateTime représente les dates et heures avec des valeurs comprises entre 0h00 : 00 (minuit), le 1er janvier, 0001 Anno Domini (ère commune) à 11h59 : 59 PM., le 31 décembre, 9999 apr. J.C. (COMMUNE.) du calendrier grégorien.

Les valeurs de date sont mesurées en unités de 100 nanosecondes, appelées graduations, et une date spécifique correspond au nombre de graduations écoulées à compter de 12:00 (minuit), le 1er janvier de l'année 0001 après J.C. (notre ère) dans le calendrier GregorianCalendar (à l'exclusion des cycles qui seraient ajoutés par les secondes intercalaires). Par exemple, une valeur de graduations égale à 31241376000000000L représente la date du vendredi 1er janvier 0100 12:00:00 (minuit). Une valeur DateTime est toujours exprimée dans le contexte d'un calendrier explicite ou par défaut.

RemarqueRemarque

Si vous utilisez une valeur de battements que vous souhaitez convertir en un autre intervalle de temps, tel que des minutes ou des secondes, vous devez utiliser la constante TimeSpan.TicksPerDay, TimeSpan.TicksPerHour, TimeSpan.TicksPerMinute, TimeSpan.TicksPerSecond ou TimeSpan.TicksPerMillisecond pour effectuer la conversion. Par exemple, pour ajouter le nombre de secondes représenté par un nombre spécifié de graduations au composant Second d'une valeur DateTime, vous pouvez utiliser l'expression dateValue.Second + nTicks/Timespan.TicksPerSecond.

Dans cette section :

Instancier un objet datetime
Valeurs datetime et leurs représentations de chaîne
La conversion de chaînes en valeurs datetime
Considérations relatives à la version
Valeurs datetime
Opérations datetime
DateTime et TimeSpan
Considérations COM Interop

Instancier un objet datetime

Vous pouvez créer une valeur DateTime de l'une des manières suivantes :

  • En appelant l'une des surcharges du constructeur DateTime qui vous permettent de spécifier des éléments spécifiques de la valeur de date et d'heure (tel que l'année, le mois et le jour, ou le nombre de graduations). L'instruction suivante illustre un appel à l'un des constructeurs DateTime pour créer une date avec une année, un mois, un jour, une heure, des minutes et des secondes spécifiques.

    
    DateTime date1 = new DateTime(2008, 5, 1, 8, 30, 52);
    
    
    
  • En utilisant toute syntaxe spécifique au compilateur pour déclarer des valeurs de date et d'heure. Par exemple, l'instruction Visual Basic suivante initialise une nouvelle valeur DateTime.

    
    Dim date1 As Date = #5/1/2008 8:30:52AM#
    
    
    
  • En assignant à l'objet DateTime une valeur de date et d'heure retournée par une propriété et une méthode. L'exemple suivant assigne la date et l'heure actuelles, la date et l'heure UTC (coordinated universal time) et la date actuelle aux trois nouvelles variables DateTime.

    
    DateTime date1 = DateTime.Now;
    DateTime date2 = DateTime.UtcNow;
    DateTime date3 = DateTime.Today;
    
    
    
  • En analysant la représentation sous forme de chaîne d'une valeur de date et d'heure. Les méthodes Parse, ParseExact, TryParse et TryParseExact convertissent une chaîne en sa valeur équivalente de date et d'heure. L'exemple suivant utilise la méthode Parse pour analyser une chaîne et la convertir en une valeur DateTime.

    
    string dateString = "5/1/2008 8:30:52 AM";
    DateTime date1 = DateTime.Parse(dateString, 
                              System.Globalization.CultureInfo.InvariantCulture); 
    
    
    

    Notez que les méthodes TryParse et TryParseExact indiquent si une chaîne particulière contient une représentation valide d'une valeur DateTime en plus d'exécuter la conversion.

  • En appelant le constructeur par défaut implicite de la structure DateTime. (Pour plus d'informations sur le constructeur par défaut implicite d'un type valeur, consultez Types valeur (référence C#).) Un équivalent approximatif, pour les compilateurs qui le prennent en charge, déclare une valeur DateTime sans lui assigner explicitement une valeur de date et d'heure. L'exemple suivant illustre un appel au constructeur par défaut implicite DateTime en C# et en Visual Basic, ainsi qu'une déclaration de variable DateTime sans assignation dans Visual Basic.

    
    DateTime dat1 = new DateTime();
    // The following method call displays 1/1/0001 12:00:00 AM.
    Console.WriteLine(dat1.ToString(System.Globalization.CultureInfo.InvariantCulture));
    // The following method call displays True.
    Console.WriteLine(dat1.Equals(DateTime.MinValue));
    
    
    

Valeurs datetime et leurs représentations de chaîne

En interne, toutes les valeurs DateTime sont représentées comme le nombre de graduations (nombre d'intervalles de 100 nanosecondes) qui se sont écoulés depuis 12:00:00 minuit, le 1er janvier 0001. La valeur DateTime réelle est indépendante de la façon dont cette valeur apparaît en cas d'affichage dans un élément d'interface utilisateur ou en cas d'écriture dans un fichier. L'apparence d'une valeur DateTime est le résultat d'une opération de mise en forme. La mise en forme est le processus qui consiste à convertir une valeur en une représentation sous forme de chaîne.

L'apparence des valeurs de date et d'heure étant dépendants de facteurs tels que la culture, les normes internationales, les spécifications d'application et les préférences personnelles, la structure DateTime offre une grande souplesse pour la mise en forme des valeurs de date et d'heure via les surcharges de sa méthode ToString. La méthode DateTime.ToString() par défaut retourne la représentation sous forme de chaîne d'une valeur de date et d'heure à l'aide du modèle de date courte et d'heure longue de la culture actuelle. L'exemple suivant utilise la méthode DateTime.ToString() par défaut pour afficher la date et l'heure selon le modèle de date courte et d'heure longue de la culture en-US, culture actuelle de l'ordinateur sur lequel cet exemple a été exécuté.


DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString());
// For en-US culture, displays 3/1/2008 7:00:00 AM


La méthode DateTime.ToString(IFormatProvider) retourne la représentation sous forme de chaîne d'une valeur de date et d'heure selon le modèle de date courte et d'heure longue d'une culture spécifique. L'exemple suivant utilise la méthode DateTime.ToString(IFormatProvider) pour afficher la date et l'heure selon le modèle de date courte et d'heure longue pour la culture fr-FR.


DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 01/03/2008 07:00:00


La méthode DateTime.ToString(String) retourne la représentation sous forme de chaîne de la date et de l'heure dans un format défini par un spécificateur de format standard ou personnalisé et selon les conventions de mise en forme de la culture actuelle. L'exemple suivant utilise la méthode DateTime.ToString(String) pour afficher le modèle de date et d'heure complètes pour la culture en-US, culture actuelle de l'ordinateur sur lequel cet exemple a été exécuté.


DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString("F"));
// Displays Saturday, March 01, 2008 7:00:00 AM


La méthode DateTime.ToString(String, IFormatProvider) retourne la représentation sous forme de chaîne de la date et de l'heure dans un format défini par un spécificateur de format spécifique et selon les conventions de mise en forme d'une culture spécifique. L'exemple suivant utilise la méthode DateTime.ToString(String, IFormatProvider) pour afficher le modèle de date et heure complètes pour la culture fr-FR.


DateTime date1 = new DateTime(2008, 3, 1, 7, 0, 0);
Console.WriteLine(date1.ToString("F", new System.Globalization.CultureInfo("fr-FR")));
// Displays samedi 1 mars 2008 07:00:00


Pour plus d'informations sur la mise en forme des valeurs d'DateTime, consultez Chaînes de format standard de date et d'heure et l'Chaînes de format personnalisées de date et d'heure.

La conversion de chaînes en valeurs datetime

La surveillance consiste à convertir la représentation de chaîne d'une date et heure à une valeur d'DateTime. En général, les chaînes de date et d'heure ont deux utilise différentes dans les applications :

  • Elles représentent une date et une heure qui peut effectuer divers formulaires et qui reflètent les conventions de la culture actuelle ou d'une culture spécifique. Par exemple, une application peut autoriser un utilisateur à la culture actuelle est le en- états-unis pour entrer une valeur de date comme « 12/15/2013 " ou « le 15 décembre 2013 », et permet à un utilisateur dont la culture actuelle est en- Go pour entrer une valeur de date comme « 15/12/2013 " ou « le 15 décembre 2013 ».

  • Ils représentent une date et d'heure sous un format prédéfini. Par exemple, une application peut sérialiser une date comme « 20130103 " indépendamment de la culture sur laquelle l'application, ou elle peut nécessiter qu'une date est saisie au format de date abrégée de la culture actuelle.

Vous pouvez utiliser la méthode de Parse ou d'TryParse pour convertir une chaîne qui pourrait refléter l'un des formats de date et d'heure communs utilisés par une culture à une valeur d'DateTime. L'exemple suivant montre comment utiliser TryParse pour convertir des chaînes de date dans plusieurs formats spécifiques à la culture à une valeur d'DateTime. Il modifie la culture actuelle en anglais (Grande-Bretagne) et appelle la méthode de GetDateTimeFormats() pour générer un tableau de chaînes de date et d'heure. Il transmet ensuite chaque élément du tableau de la méthode de TryParse. La sortie de l'exemple montre que la méthode d'analyse a réussi à convertir les chaînes de date et d'heure spécifiques à une culture.

Vous pouvez utiliser les méthodes d'TryParse et d'TryParseExact de conversion d'une chaîne de date et d'heure qui doit correspondre à un format ou les formats individuels à une valeur d'DateTime. Vous spécifiez le format ou les formats requis en tant que paramètre à la méthode d'analyse en utilisant un ou plusieurs chaînes de format de date et heure d'standard ou d'personnalisé. L'exemple suivant utilise la méthode d'TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) pour convertir les chaînes qui doivent être au format « ou » au format « HHMMSS » aux valeurs d'DateTime.

Les méthodes d'Parse et d'ParseExact lèvent une exception si la chaîne à convertir en une valeur d'DateTime ne peut pas être analysée. Les méthodes d'TryParse et d'TryParseExact retournent une valeur booléenne qui indique si la conversion a réussi ou échoué. Étant donné que l'opération d'analyse des chaînes de date et d'heure, en particulier si les chaînes sont entrées par les utilisateurs, est susceptible d'avoir un taux d'erreur le plus élevé, comme gestion des exceptions est coûteuse, vous devez utiliser TryParse ou des méthodes d'TryParseExact dans les scénarios où la représentation est importante ou des conversions sont soumises à un ratio élevé d'échec.

Pour plus d'informations sur les valeurs de date et heure d'analyse, consultez l'Chaînes de date et d'heure d'analyse.

Considérations relatives à la version

Dans les versions antérieures du .NET Framework version 2.0, la structure DateTime contient un champ 64 bits composé d'un champ de 2 bits inutilisé concaténé avec un champ Ticks privé qui est un champ non signé de 62 bits qui contient le nombre de graduations qui représentent la date et heure. La valeur du champ Ticks peut être obtenue avec la propriété Ticks.

ہ partir du .NET Framework version 2.0, la structure DateTime contient un champ de 64 bits composé d'un champ Kind privé concaténé avec le champ Ticks. Le champ Kind est un champ de 2 bits qui indique si la structure DateTime représente une heure locale, un temps universel (UTC, Universal Time Coordinated) ou l'heure dans un fuseau horaire non spécifié. Le champ Kind est utilisé lors de l'exécution de conversions d'heure entre des fuseaux horaires, mais pas pour les comparaisons d'heure ou l'arithmétique. La valeur du champ Kind peut être obtenue avec la propriété Kind.

RemarqueRemarque

Une alternative à la structure DateTime pour l'utilisation de valeurs de date et d'heure dans des fuseaux horaires particuliers est la structure DateTimeOffset. La structure DateTimeOffset stocke des informations d'horodatage dans un champ DateTime privé et le nombre de minutes par lesquelles ces date et heure diffèrent d'UTC dans un champ Int16 privé. Cela permet à une valeur DateTimeOffset de répercuter l'heure dans un fuseau horaire particulier, alors qu'une valeur DateTime ne peut refléter clairement que le fuseau horaire UTC et le fuseau horaire local. Pour plus d'informations sur l'utilisation appropriée de la structure DateTime ou de la structure DateTimeOffset lorsque vous travaillez avec des valeurs de date et d'heure, consultez Choix entre DateTime, DateTimeOffset et TimeZoneInfo.

Valeurs datetime

Dans le type DateTime, les valeurs d'heure sont souvent exprimées en temps universel coordonné (UTC), précédemment connu sous le nom d'heure de Greenwich (GMT). Le temps universel coordonné est l'heure mesurée à la longitude zéro, le point de départ de l'UTC. L'heure d'été ne s'applique pas à l'UTC.

L'heure locale est relative à un fuseau horaire particulier. Un fuseau horaire est associé à un décalage horaire, qui est le décalage du fuseau horaire mesuré en heures par rapport au point de départ UTC. De plus, l'heure locale peut en option être affectée par l'heure d'été, qui ajoute ou soustrait une heure de la journée. Par conséquent, l'heure locale est calculée en ajoutant l'offset de fuseau horaire à l'UTC et en réglant l'heure d'été si nécessaire. Le décalage horaire au point de départ de l'UTC est nul.

L'heure UTC est appropriée pour les calculs, les comparaisons et l'enregistrement des dates et heures dans les fichiers. L'heure locale est appropriée pour l'affichage dans les interfaces utilisateur des applications de bureau. Les applications prenant en charge les fuseaux horaires (telles que de nombreuses applications Web) doivent également utiliser plusieurs autres fuseaux horaires.

Si la propriété Kind d'un objet DateTime est DateTimeKind.Unspecified, il n'est pas spécifié si l'heure représentée est l'heure locale, l'heure UTC ou une heure dans un autre fuseau horaire.

Opérations datetime

Un calcul effectué à l'aide d'une structure DateTime, telle que Add ou Subtract, ne modifie pas la valeur de la structure. En revanche, l'opération retourne une nouvelle structure DateTime dont la valeur est égale au résultat du calcul.

Les opérations de conversion entre des fuseaux horaires (tel qu'entre l'heure UTC et l'heure locale ou entre un fuseau horaire et un autre) prennent l'heure d'été en considération, mais l'arithmétique et les opérations de comparaison ne le font pas.

La structure DateTime elle-même offre un support limité pour la conversion d'un fuseau horaire en un autre. Vous pouvez utiliser la méthode ToLocalTime pour convertir l'UTC en heure locale, ou la méthode ToUniversalTime pour convertir l'heure locale en UTC. Toutefois, un jeu complet de méthodes de conversion de fuseau horaire est disponible dans la classe TimeZoneInfo. À l'aide de ces méthodes, vous pouvez convertir l'heure de l'un des fuseaux horaires du monde en l'heure de tout autre fuseau horaire.

Les calculs et les comparaisons d'objets DateTime n'ont de signification que si les objets représentent les heures dans le même fuseau horaire. Vous pouvez utiliser un objet TimeZoneInfo pour représenter un fuseau horaire de valeur DateTime, bien que les deux soient associés vaguement. (Autrement dit, un objet DateTime n'a pas de propriété qui retourne un objet qui représente le fuseau horaire de cette valeur de date et d'heure autre que la propriété Kind.) Pour cette raison, dans une application prenant en charge les fuseaux horaires, vous devez compter sur un mécanisme externe pour déterminer le fuseau horaire dans lequel un objet DateTime a été créé. Par exemple, vous pouvez utiliser une structure qui encapsule à la fois la valeur DateTime et l'objet TimeZoneInfo qui représente le fuseau horaire de valeur DateTime. Pour plus d'informations sur l'utilisation d'UTC dans les calculs et les comparaisons avec les valeurs DateTime, consultez Exécution d'opérations arithmétiques avec des dates et heures.

Lors de l'opération, chaque membre DateTime utilise implicitement le calendrier grégorien, à l'exception des constructeurs qui spécifient un calendrier, et des méthodes avec un paramètre dérivé de IFormatProvider, par exemple System.Globalization.DateTimeFormatInfo, qui spécifie implicitement un calendrier.

Les opérations effectuées par les membres du type DateTime prennent en considération des éléments tels que les années bissextiles et le nombre de jours d'un mois.

Deux autres opérations courantes avec des valeurs d'DateTime impliquent la conversion d'une valeur de date et heure à partir de sa représentation de chaîne. Le processus de conversion d'une valeur d'DateTime dans sa représentation de chaîne est une opération de mise en forme ; pour plus d'informations sur la mise en forme, consultez l'Valeurs datetime et leurs représentations de chaîne. Processus de conversion la représentation de chaîne d'une date et heure à une valeur d'DateTime est une opération d'analyse ; pour plus d'informations sur la surveillance, consultez l'La conversion de chaînes en valeurs datetime.

DateTime et TimeSpan

Les types valeur DateTime et TimeSpan se distinguent par le fait que DateTime représente un instant, tandis que TimeSpan représente un intervalle de temps. Cela signifie, par exemple, que vous pouvez soustraire une instance de DateTime d'une autre pour obtenir un objet TimeSpan qui représente l'intervalle de temps les séparant. De la même façon, vous pouvez ajouter un TimeSpan positif au DateTime actuel pour obtenir une valeur DateTime qui représente une date ultérieure.

Vous pouvez ajouter ou soustraire un intervalle de temps d'un objet DateTime. Les intervalles de temps peuvent être négatifs ou positifs ; ils peuvent être exprimés en unités telles que les graduations ou les secondes ou comme un objet TimeSpan.

Considérations COM Interop

On dit d'une valeur DateTime qui est transférée à une application COM, puis transférée de nouveau à une application managée, qu'elle effectue un aller-retour. Toutefois, une valeur DateTime qui ne spécifie qu'une heure n'effectue pas un aller-retour, comme vous vous en doutez.

Si vous boucle uniquement une heure, par exemple 15h, la limite et le temps est le le 30 décembre 1899 de l'ère. à 15h00, au lieu de january, 1, 0001 COMMUNE à 15h00. Cela s'explique par le fait que le .NET Framework et COM adoptent une date par défaut lorsque seule une heure est spécifiée. Toutefois, le système COM lors la date de référence du 30 décembre 1899 de l'ère. lorsque .NET Framework lors la date de référence de january, 1, 0001 COMMUNE.

Lorsque seule une heure est passée du .NET Framework à COM, un traitement spécial qui convertit l'heure au format utilisé par COM est exécuté. Lorsque seule une heure est passée de COM au .NET Framework, aucun traitement spécial n'est exécuté parce que cela altérerait les dates et heures légitimes égales ou antérieures au 30 décembre 1899. Cela signifie également que si une date démarre son aller-retour à partir de COM, le .NET Framework et COM conservent cette date.

Le comportement du .NET Framework et de COM signifie que si votre application réalise un aller-retour de DateTime qui spécifie uniquement une heure, elle doit veiller à modifier ou à ignorer la date erronée du dernier objet DateTime.

L'exemple suivant illustre la comparaison de valeurs DateTime à peu près équivalentes, une légère différence est acceptée lorsqu'elles sont déclarées égales.


using System;

class DateTimeTester 
{
   static bool RoughlyEquals(DateTime time, DateTime timeWithWindow, int windowInSeconds, int frequencyInSeconds)
   {
      long delta = (long)((TimeSpan)(timeWithWindow - time)).TotalSeconds 
                                                     % frequencyInSeconds;

      delta = delta > windowInSeconds ? frequencyInSeconds - delta : delta;

      return Math.Abs(delta) < windowInSeconds;
	}

	public static void Main() 
	{
      int window = 10;
      int freq = 60 * 60 * 2; // 2 hours;

      DateTime d1 = DateTime.Now;

      DateTime d2 = d1.AddSeconds(2 * window);
      DateTime d3 = d1.AddSeconds(-2 * window);
      DateTime d4 = d1.AddSeconds(window / 2);
      DateTime d5 = d1.AddSeconds(-window / 2);

      DateTime d6 = (d1.AddHours(2)).AddSeconds(2 * window);
      DateTime d7 = (d1.AddHours(2)).AddSeconds(-2 * window);
      DateTime d8 = (d1.AddHours(2)).AddSeconds(window / 2);
      DateTime d9 = (d1.AddHours(2)).AddSeconds(-window / 2);

      Console.WriteLine("d1 ({0}) ~= d1 ({1}): {2}",
                        d1, d1, RoughlyEquals(d1, d1, window, freq));
      Console.WriteLine("d1 ({0}) ~= d2 ({1}): {2}", 
                        d1, d2, RoughlyEquals(d1, d2, window, freq));
      Console.WriteLine("d1 ({0}) ~= d3 ({1}): {2}", 
                        d1, d3, RoughlyEquals(d1, d3, window, freq));
      Console.WriteLine("d1 ({0}) ~= d4 ({1}): {2}", 
                        d1, d4, RoughlyEquals(d1, d4, window, freq));
      Console.WriteLine("d1 ({0}) ~= d5 ({1}): {2}", 
                        d1, d5, RoughlyEquals(d1, d5, window, freq));

      Console.WriteLine("d1 ({0}) ~= d6 ({1}): {2}", 
                        d1, d6, RoughlyEquals(d1, d6, window, freq));
      Console.WriteLine("d1 ({0}) ~= d7 ({1}): {2}", 
                        d1, d7, RoughlyEquals(d1, d7, window, freq));
      Console.WriteLine("d1 ({0}) ~= d8 ({1}): {2}", 
                        d1, d8, RoughlyEquals(d1, d8, window, freq));
      Console.WriteLine("d1 ({0}) ~= d9 ({1}): {2}", 
                        d1, d9, RoughlyEquals(d1, d9, window, freq));
	}
}
// The example displays output similar to the following:
//    d1 (1/28/2010 9:01:26 PM) ~= d1 (1/28/2010 9:01:26 PM): True
//    d1 (1/28/2010 9:01:26 PM) ~= d2 (1/28/2010 9:01:46 PM): False
//    d1 (1/28/2010 9:01:26 PM) ~= d3 (1/28/2010 9:01:06 PM): False
//    d1 (1/28/2010 9:01:26 PM) ~= d4 (1/28/2010 9:01:31 PM): True
//    d1 (1/28/2010 9:01:26 PM) ~= d5 (1/28/2010 9:01:21 PM): True
//    d1 (1/28/2010 9:01:26 PM) ~= d6 (1/28/2010 11:01:46 PM): False
//    d1 (1/28/2010 9:01:26 PM) ~= d7 (1/28/2010 11:01:06 PM): False
//    d1 (1/28/2010 9:01:26 PM) ~= d8 (1/28/2010 11:01:31 PM): True
//    d1 (1/28/2010 9:01:26 PM) ~= d9 (1/28/2010 11:01:21 PM): True


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres de ce type sont thread-safe. Les membres qui semblent modifier l'instance d'état retournent, en réalité, une nouvelle instance initialisée avec la nouvelle valeur. Comme avec tout autre type, la lecture et l'écriture sur une variable partagée qui contient une instance de ce type doivent être protégées par un verrou pour garantir la cohérence de thread.

Mise en gardeAttention

L'assignation d'une instance de ce type n'est pas thread-safe sur toutes les plateformes matérielles car la représentation binaire de cette instance peut être trop grande pour être assignée dans une seule opération atomique.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft