problème avec wx.DateTime
Bonjour !
Je bute depuis quelques heures sur ce qui semble être un bug énorme
de l'objet wx.DateTime de la librairie wxpython
Voici le code incriminé:
Code:
1 2 3 4 5 6 7
| year=d[0]
month=d[1]
day=d[2]
datinit=wx.DateTimeFromDMY(day,month,year)
print month
print datinit.GetMonth()
print str(datinit) |
les valeurs sont 2007 pour year
09 pour month
et 15 pour day
Voici l'affichage:
Citation:
2007-09-15
9
9
10/15/07 00:00:00
Autrement le mois est passé à 10 !!!
Maintenant si je fais un
datinit.SetMonth(month)
le mois affiché reste à 10
Par contre si je demande d'afficher
datinit.GetMonth()
Il affiche bien 9 ?????????
J'ai donc pu observer ce phénomène pour month allant de 0 (valeur impossible)
jusqu'à 11.
Pour 12 il remplace par le mois courant ???
Très ennuyeux !! Parce que j'utilise cela pour initialiser un objet datepicker, il s'agit de mettre à jour des fiches d'une base de données.
La date récupérée est donc toujours fausse. Je peux évidemment contourner la difficulté en trichant sur le mois, mais au cours d'un update de wxpython ou le bug sera corrigé, plus rien ne marchera.
J'ai donc essayé un bug-fix provisoire, de ce genre:
Code:
1 2 3 4
| # correction de bug
if datinit.GetMonth()!=month:
datinit=wx.DateTimeFromDMY(day,month-1,year)
# fin de correction |
Mais cela ne marche pas parce que le GetMonth() est inexplicablement correct!
Si vous pouvez m'éclairer.
Merci