Bonjour à tous,
j'aimerai savoir s'il existe une méthode pour avoir les jours de la semaine correspondant à un numéro de semaine ?
exemple : Semaine 39 de 2007
Lundi : 24/09/2007
Mardi : 25/09/2007
...
Dimanche : 30/09/2007
Merci.
Bonjour à tous,
j'aimerai savoir s'il existe une méthode pour avoir les jours de la semaine correspondant à un numéro de semaine ?
exemple : Semaine 39 de 2007
Lundi : 24/09/2007
Mardi : 25/09/2007
...
Dimanche : 30/09/2007
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private int GetWeekNumber(DateTime date) { Calendar calendar = Thread.CurrentThread.CurrentCulture.Calendar; CalendarWeekRule weekRule = Thread.CurrentThread.CurrentCulture.DateTimeFormat.CalendarWeekRule; DayOfWeek firstDayOfWeek = Thread.CurrentThread.CurrentCulture.DateTimeFormat.FirstDayOfWeek; return calendar.GetWeekOfYear(date, weekRule, firstDayOfWeek); }
Pas mal cette technique
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
C'est pour récupérer le numéro de la semaine d'une date non?
Il me semble qu'il veut les jours d'un n° de semaine donné
de fait, c'est récuperer les jours de la semaine pour un numéro donné qui m'interresse.
Pour avoir le numéro de la semaine, j'utilisais la même technique que tu as marqué.
beh il me semble que
Calendar.GetDayOfYear() devrait faire l'affaire alors ?
The Monz, Toulouse
The Monz, Toulouse
Expertise dans la logistique et le développement pour
plateforme .Net (Windows, Windows CE, Android)
Prends la date du premier janvier et fais un AddWeeks du nombre de semaines qui t'intéresse.
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Désolé pour la mauvaise info, j'ai mal lu le premier thread.
Salut,
je tente une petite fonction (pas testée), mais il doit exister sûrement plus simple... Ca devrait renvoyer un dico avec les jours de la semaine en clé et les structs datetime en valeur. ca devrait marcher pour un calendrier normé ISO (la semaine n°1 est la première à contenir au moins quatre jours).
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
21
22
23
24
25
26
27
28
29
30 private Dictionary<DayOfWeek,DateTime> GetWeekDetails(int week, int year) { if (week > 52 || week < 1) return null; Dictionary<DayOfWeek, DateTime> resultat = new Dictionary<DayOfWeek, DateTime>(); System.Globalization.Calendar cal = System.Threading.Thread.CurrentThread.CurrentCulture.Calendar; //1er jour de l'année désirée pour le système de calendrier de la culture du thread actuel DateTime dt = new DateTime(year, 1, 1, cal); //se positionner sur le premier jour de la semaine numéro 1. while (cal.GetWeekOfYear(dt, System.Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday) != 1) { dt = dt.AddDays(1); } //se postionner sur le premier jour de la semaine désirée dt = cal.AddWeeks(dt, week - 1); //remplir le dico for (int i = 0; i < 7; i++) { resultat.Add(dt.DayOfWeek, dt); dt = dt.AddDays(1); } return resultat; }
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