none
DateTime.MinValue RRS feed

  • Question

  •  

    Bonjour

     

    Il me semble avoir lu quelque part, il y a tres longtemp, qu'il etait possible de modifier la valeur de DateTime.MinValue pour le context d'execution courant.

     

    J'etais parti du coté de System.Threading.Thread.CurrentContext d'apres mes vagues souvenir, mais sans succés.

    Pourtant je suis sur qu'il y a une moyen (ou pas..)

     

     

    Pour les curieux qui aiment connaitre le pourquoi du comment :

    DateTime.MinValue vaut 01/01/0001

    pour une base tel que SqlCompact elle vaut 01/01/1900 (il est d'ailleur tt simplement impossible d'inserer une date antérieur)

    Non pas que je sois à 1900 années prets... mais visiblement le .Equals oui

    Ce qui nous a valu la présence d'un bug particulièrement difficile à detecter.

     

    Merci d'avance.

    vendredi 18 avril 2008 09:31

Réponses

Toutes les réponses

  • Bonjour,

    Il n'est pas possible de changer les valeurs DateTime.MinValue et DateTime.MaxValue car celles-ci sont déclarées en tant que champs static readonly et initialisées dans le constructeur static de la structure.

    Pour utiliser des DateTime avec SqlCompact il faudra donc que vous fassiez une conversion à la volé dans votre couche de persistance des données.

     

    vendredi 18 avril 2008 10:24
  •  

    Pourquoi ne pas mettre dans ce cas le champ Date nullable ? L'utilisation d'une date à une value MinValue (valeur par défaut à la création d'une DateTime) n'a pas réellement de sens.

     

    lundi 21 avril 2008 09:19