C# problème de n° de date avec GetWeekOfYear() et ISO 8601

Bonjour à tous,

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à ?

Merci beaucoup !

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 :slight_smile:

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.

Bon courage :crying:

Ca me parait gros que ça soit un problème du Framework…

EDIT : Merci pour le tip mais je suis sur C# 2 :slight_smile:

A l’époque de mes recherches pour la conception d’un calendrier, j’étais tombé sur ce morceau de code que j’avais repris : http://konsulent.sandelien.no/VB_help/Week/

Une autre sujet que j’avais trouvé à l’époque avec une implémentation qui me semble correcte : http://blogs.msdn.com/shawnste/archive/200…/24/517178.aspx

Et encore un message intéressant (trouvé dans une discussion NG) : http://blogs.msdn.com/sqlclr/archive/2005/11/11/491981.aspx

Je te laisse creuser pour te faire une idée, les liens donnés (exemple ici) devraient te donner une belle impression du bordel :slight_smile:

Bon bah j’y retourne alors (vraiment curieux) :slight_smile: