IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Différence entre DateTime et DateTime?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut Différence entre DateTime et DateTime?
    Salut tout le monde,

    Quel est la différence entre le type DateTime et le type DateTime ?

    Merci d'avance.

    Cordialement

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    euh aucune

    doit y avoir un problème avec la question

  3. #3
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut
    Arf j'aurais du mettre des cotes


    La différence entre un "DateTime" et un "Datetime?" ?

    En fait j'utilise un DatePicker, et la property SelectedDate est de type "DateTime?" et non "DateTime".

    Et je comprends pas la différence.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    que DateTime? peut etre mis a null

    DateTime est une structure et non une classe, par défaut elle ne peut valoir null

    Donc comme pour bool,int,double,... tu as sa version nullable bool?,int?,double?...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateTime maDate =null; // n'est pas valide
    DateTime? maDate = null; // est valide

  5. #5
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut
    Ok ça marche je te remercie pour ton aide.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    DateTime? est un raccourci pour Nullable<DateTime>. La structure Nullable<T> permet de représenter l'absence de valeur pour une variable de type valeur (struct)

    Pour tester si un DateTime? a une valeur, tu peux tester s'il est égal à null, ou vérifier sa propriété HasValue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (datePicker.SelectedDate != null)
    ...
     
    // équivalent à
    if (datePicker.SelectedDate.HasValue)
    Pour accéder à la valeur, on passe par la propriété Value :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime selectedDate = datePicker.SelectedDate.Value;
    (attention, la propriété Value lève une exception si HasValue est false)

    Enfin, l'opérateur ?? permet de récupérer la valeur, ou une valeur par défaut s'il n'y a pas de valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Renvoie DateTime.Now si datePicker.SelectedDate est null
    DateTime selectedDate = datePicker.SelectedDate ?? DateTime.Now;

  7. #7
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Par défaut
    Merci pour l'explication détaillée tomlev

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/07/2014, 15h49
  2. [MySQL] différence entre deux champs datetime
    Par labib23dz dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/06/2013, 15h42
  3. XML : différence entre Date et DateTime
    Par cedric774 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 28/06/2012, 15h37
  4. différence entre deux datetime
    Par zoro007 dans le forum C#
    Réponses: 8
    Dernier message: 23/08/2011, 13h30
  5. Réponses: 7
    Dernier message: 29/11/2010, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo