Spidard
Messages postés9Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention10 septembre 2006
-
17 févr. 2006 à 09:39
Spidard
Messages postés9Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention10 septembre 2006
-
17 févr. 2006 à 12:59
Bonjour.
J'aimerais savoir comment créer un objet DateTime, ou même String, peut importe du moment qu'il "ressemble" à une date
a partir du numéro du jour (0-6), du numéro de semaine (0-51 ou 1-52) et de l'année.
J'ai remarqué qu'avec un DateTime on pouvait facilement extraire le
numéro du jour, de semaine, mois etc... mais impossible de faire
l'inverse !
est-ce que quelqu'un pourrait m'aider a ce sujet ? Je dois absolument
avoir trouvé sa pour la semaine prochaine et je me suis déjà creusé la
tête toute la soirée sans aboutir.
ou alors récupérer la date du premier jour de la semaine
taoetc
Messages postés346Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 3 septembre 20073 17 févr. 2006 à 09:55
un petit algo des familles
//tu connais l'année, donc , tu peux avoir ta date de ref au premeir janvier
DateTime datBase = DateTime.Parse("01/01/"+ annee);
//Tu connais le nombre de semaine donc tu peux arriver au lundi
datBase = datBase.AddDays( nbrSemain*7);
//Il te suffit maintenant de trouver le bon jour
while (datBase.DayOfWeek != jourSemaine)
datBase = datBase.AddDays(1);
normalement , tu as alors le bon objet datetime
il faut peut etre ajouter le nbr de semaine, pour bien tombé sur le lundi de la semaine que tu veux.
voil, j'ai pas trop regardé l'objet datetime, mais l'algo me semble facile , donc, tu n'y perds pas grand chose, meme si l'objet datetim te permet de faire une des étape de l'algo un peu plus proprement
taoetc
Messages postés346Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 3 septembre 20073 17 févr. 2006 à 10:08
ajuster , pas ajouter le nbr de semaine
et ca :
//Il te suffit maintenant de trouver le bon jour
while (datBase.DayOfWeek != jourSemaine)
datBase = datBase.AddDays(1);
c'est n'importe quoi, days of week renvoie le jour de la semaine en lettre
il faut faire directement
datBase = datBase.AddDays (jourSemaine+1); //si le jour de la semaine est de 1 à 7
l'instruction génére une date au premeir janvier de l'année, jout le nombre de semaine -1 pour se trouver sur le dimanche de la semaine précédente, ajoute le nombre de jour de la semaine
Spidard
Messages postés9Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention10 septembre 2006 17 févr. 2006 à 12:59
Re. Donc après quelques modifs, sa marche nikel, merci beaucoup. Il a
qd meme fallu quelques SI pour tenir compte du 1er jour de l'année : si
le 01 jan n'est pas un lundi, alors il fait encore parti de la 52e
semaine, et non la 1ere. Au final, sa donne sa :