J'aimerai récupérer tous les jours de l'année dans un tableau (ou une liste)
sous la forme :
Il y a beaucoup de classes avec des calendriers en C# mais laquelle est la plus adéquate ?Code:
1
2
3
4
5 01/01/2008 02/01/2008 03/01/2008 ...
merci
Version imprimable
J'aimerai récupérer tous les jours de l'année dans un tableau (ou une liste)
sous la forme :
Il y a beaucoup de classes avec des calendriers en C# mais laquelle est la plus adéquate ?Code:
1
2
3
4
5 01/01/2008 02/01/2008 03/01/2008 ...
merci
Code:
1
2 DateTime dt = ...; Console.WriteLine(dt.ToString("dd/MM/yyyy"))
Ok mais je veux la liste de tous les jours de l'année, du premier janvier au 31 décembre.
merci
Ben tu pars du 1er janvier de l'année voulue, et tu boucles N fois en incrémentant le jour (avec DateTime.AddDays), N étant le nombre de jours dans l'année.
Pour connaitre le nombre de jours dans l'année, tu peux vérifier si elle est bissextile avec DateTime.IsLeapYear
voici une focntion que je viens d tester pour la format de la date tu peut la manipuler comme tu veux
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public static List<DateTime> getyear(int year) { List<DateTime> ldt = new List<DateTime>(); DateTime dt = new DateTime(year, 1, 1); TimeSpan ts = dt.AddYears(1) - dt; double cmp = ts.TotalDays; double i = cmp; while (cmp > 0) { ldt.Add(dt.AddDays(i-cmp)); cmp--; } return (ldt.Count > 0 ? ldt : null); }
Beaucoup plus simple :
1. Tu ouvres Excel
2. Dans la cellule A1, tu tapes 01/01/2008
3. Tu sélectionnes les cellules A1:A365
4. Menu Edit/Fill/Series (je suis en Windows en anglais)
5. Tu cliques sur Ok.
bratomchi, faudrait voir à faire plus simple au niveau des algo :aie:
C'est tout de même plus simple ;)Code:
1
2
3
4
5
6
7
8
9
10
11
12 private List<string> GetAllDays(int year) { DateTime date = new DateTime(year, 1, 1); int nbJours = (DateTime.IsLeapYear(date.Year)) ? 366 : 365; List<string> dates = new List<string>(nbJours); for (int i = 0; i < nbJours; i++) { dates.Add(date.AddDays(i).ToString("dd/MM/yyyy")); } return dates; }