sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 2014
-
2 juin 2005 à 17:15
Utilisateur anonyme -
9 oct. 2009 à 21:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
daivil
Messages postés87Date d'inscriptionmardi 25 juin 2002StatutMembreDernière intervention 4 juin 2005 4 juin 2005 à 09:23
J'ai bien essayé de faire plus simple mais la classe DateTime ne semble pas gérer les semaines :)
JulSoft
Messages postés354Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention11 mars 2013 2 juin 2005 à 19:02
je pense aussi qu'il y a plus simple
on doit pouvoir le faire en conaissant le jour du 1er janvier de l'année en question et, sauf erreur de ma part, il existe une fonction pour ça (je confond peut être avec le PHP où la fonction existe bel et bien)
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 2 juin 2005 à 17:15
la démarche est bonne... mais je pense qu'il a plus simple
9 oct. 2009 à 21:48
using System.Globalization;
private DateTime getPremierJourSemaine(int numeroSemaine, int annee)
{
Calendar cal = CultureInfo.InvariantCulture.Calendar;
//initialise le premier janvier de l'année
DateTime date = new DateTime(annee, 1, 1);
//Cherche le lundi suivant
int Jour = Convert.ToInt32(date.DayOfWeek);
date = date.AddDays(8 - Jour);
//extrait le numéro de semaine du lundi
int Semaine = cal.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
//ajoute le nombre de semaine
Semaine = 7 * (numeroSemaine - Semaine);
date = date.AddDays(Semaine);
return date;
}
9 juil. 2007 à 14:48
mettre
date=date.AddDay(7);
plutot que
date=date.AddDay(1);
9 juil. 2007 à 14:44
private DateTime getPremierJourSemaine(int numeroSemaine,int annee)
{
Calendar cal = CultureInfo.InvariantCulture.Calendar;
DateTime date=new DateTime(annee,1,1);
while(numeroSemaine!=cal.GetWeekOfYear(date,CalendarWeekRule.FirstFourDayWeek,DayOfWeek.Monday))
date=date.AddDays(1);
return date;
}
4 juin 2005 à 09:23
2 juin 2005 à 19:02
on doit pouvoir le faire en conaissant le jour du 1er janvier de l'année en question et, sauf erreur de ma part, il existe une fonction pour ça (je confond peut être avec le PHP où la fonction existe bel et bien)
2 juin 2005 à 17:15