on m’a signalé que GetWeekOfYear() ne retournait pas le bon numéro de date (pour la France). Même si ça me semblait un peu gros, j’ai fouillé un peu sur le net et en effet, apparemment il y a eu pas mal de soucis avec ça.
Apparemment, il suffirait de mettre le paramètre CalendarWeekRule à ‘FirstFourDayWeek’ (je n’ai rien trouvé non plus d’officiel là dessus :)). Donc ça me donne ça :
CultureInfo ci = new CultureInfo( "fr-FR" );
int semaine = ci.Calendar.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday );
Mais du coup à quel calendrier de référence je peux me fier ? j’ai fouillé sur le net et je suis bien tombé sur des calendriers mais rien d’OFFICIEL, de calendrier qui fasse AUTORITE… Apparemment dans Office on peut avoir ce type d’erreur (j’ai pas encore regardé)…
Donc, est-ce que quelqu’un est déjà passé par là ?
Effectivement c’est pas très évident avec les semaines.
J’ai fait un article il n’y a pas longtemps ici, et en après avoir testé sur plusieurs dates différentes ça tombait juste… Si quelqu’un voit des erreurs, qu’il n’hésite pas à m’y laisser un commentaire
Mais je ne sais pas s’il y a incompatibilités avec la norme ISO 8601. Il y a un algo informatique ici chez Wikipedia.