Datetime intelligent ou non ?

Moomoon07 Messages postés 223 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 5 mai 2014 - 30 juin 2006 à 14:30
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 30 juin 2006 à 18:24
Salut !

Lorsque j'utilise datetime.addyears(1) sur la date 29février2006 (en imaginant que le 29 février existe en 2006, la flême de vérifier), est ce que la date retournée est 28 février 2007 ?
En fait j'ai plein de bug de dates dans le programme que je crée, et je me demande si datetime ne cache pas des vices  ! Alors si vous connaissez des attrapes nigauts faites moi le savoir (svp) !

MMN

4 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 juin 2006 à 14:35
as-tu essayé avant de poser ta question ?

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
30 juin 2006 à 14:41
Et d'ailleur, la réponse intelligente, ca serai 28 février 2007? ou 1er mars 2007?
0
Moomoon07 Messages postés 223 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 5 mai 2014
30 juin 2006 à 15:03
Bien sûr que j'ai essayé. Et justement dans mon programme c'est un peu aléatoire défois les dates.
En fait c'est assez compliqué. Mon programme enregistre des date dans une base de donnée access. Et 1 fois par an il récupère ces dates et les recopie dans des nouveaux champs en ya ajoutant 1 an (Datetime.addyears(1)). Et le problême que j'ai c'est que de temps en temps il m'ajoute 2 ans au lieu de 1. J'ai l'impression que c'est carrément aléatoire. Alors est ce que mon prblème vient de access ou de datetime ?

MMN
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
30 juin 2006 à 18:24
Ben fais le test comme dit plus haut!
Bon, je l'ai fait pour toi, parce que ça m'intriguait :

// Je sais que 84 est bissectil, car je suis née en février de cette année ;-)
DateTime dt =
new
DateTime(1984, 02, 29);

DateTime newDt = dt.AddYears(1);  // Ajout d'une année

Console.WriteLine(newDt.ToShortDateString());
// On trouve toujours le même résultat : 28.02.1985

<hr size="2" /> VC# forever
=13319
0
Rejoignez-nous