Bonjour,
j'ai un petit soucis qui me prend la tête:
je cherche a déterminer le mois de l'année à partir du numero de semaine et de l'année considérée
il y a un moyen simple de faire cela?
Bonjour,
j'ai un petit soucis qui me prend la tête:
je cherche a déterminer le mois de l'année à partir du numero de semaine et de l'année considérée
il y a un moyen simple de faire cela?
Salut.
Tu peux essayer cela :
Pour l'utiliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 private string getMonthInStringFormat(int year, int weekNumber) { return getFirstDayOfWeek(year, weekNumber, Thread.CurrentThread.CurrentCulture).ToString("MMMM"); } private DateTime getFirstDayOfWeek(int year, int weekNumber) { return getFirstDayOfWeek(year, weekNumber, Thread.CurrentThread.CurrentCulture); } private DateTime getFirstDayOfWeek(int year, int weekNumber, System.Globalization.CultureInfo culture) { System.Globalization.Calendar calendar = culture.Calendar; DateTime firstOfYear = new DateTime(year, 1, 1, calendar); DateTime targetDay = calendar.AddWeeks(firstOfYear, weekNumber); DayOfWeek firstDayOfWeek = culture.DateTimeFormat.FirstDayOfWeek; while (targetDay.DayOfWeek != firstDayOfWeek) { targetDay = targetDay.AddDays(-1); } return targetDay; }
Et on obtient un magnifique "juillet"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int weekNumber = 28; int year = 2010; Console.WriteLine(getMonthInStringFormat(year, weekNumber));
Je n'en suis pas l'auteur mais cela a l'air de plutôt bien fonctionner.
PS : j'ai récupéré le code ici
salut,
cool merci pour ta reponse très rapide.
juste une petite question, cette fonction utilise le cultureinfo du PC sur lequel le prog est installé... or celui ci va être installé sur des PC français, US, allemand ect...
je risque donc d'avoir des differences entre ces PC, non?
il y a moyen de fixer le cultureinfo utilisé? a savoir utiliser que le systeme US?
A utiliser, par exemple, au lancement de ton application dans ton cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager