juin
2007
Pierre-Marie m’a montré aujourd’hui une fonction DateDiff que l’on trouve dans le namespace Microsoft.VisualBasic.
Tout d’abord j’ai été déçu par celle-ci. En effet,
Microsoft.VisualBasic.DateDiff(DateInterval.Month, New Date(2006, 5, 21), New Date(2006, 7, 19))
retourne 2 au lieu de 1.
En regardant le code avec reflector, la fonction retourne <le nombre d’années d’écart> * 12 + <le nombre de mois d’écart> sans se soucier du jour.
Passons, ce n’est pas l’objet de ce post et SQL Server fait la même chose.
Vous l’avez probablement remarqué, en faisant
Microsoft.VisualBasic.DateDiff(DateInterval.Month, New Date(2006, 5, 21), New Date(2006, 7, 19))
j’appelle une méthode statique directement sur un namespace !
En réalité la méthode DateDiff est définie dans Microsoft.VisualBasic.DateAndTime.
J’ai bien remarqué sur cette classe un attribut StandardModule. je ne sais pas si c’est lui qui permet ce type d’écriture. Dans tous les cas je ne suis pas du tout adepte de ce genre de chose.