Salut,
en fait tout est dans le titre... Je cherche le 268ème jour de l'année 1998, par exemple et je voudrait récupérer ce jour sous la forme Lundi 23 mai 1998... Vous voyez ???
Merci pour votre aide...
Salut,
en fait tout est dans le titre... Je cherche le 268ème jour de l'année 1998, par exemple et je voudrait récupérer ce jour sous la forme Lundi 23 mai 1998... Vous voyez ???
Merci pour votre aide...
Le miel, ça colle dans les poils, mais c'est pas graaaaaaaaaave !!!
Pensez à mettre [Résolu] dans le sujet de votre message quand votre problème est arrangé...
salut,
voici 1 code qui affiche le 268 eme jour de l'annee 1998 avec le format que tu demande :
A+.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 TDateTime d=TDateTime(1998,1,1); d=d.operator +(268); ShowMessage(FormatDateTime("dddd dd mmmm yyyy ",d));
THE KING
Salut,
Ce code te donne la date du NbJour eme jour de l'annee Annee (>1900) et quel jour de la semaine c'est :
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int NbJours; int Annee; TDate Date; unsigned short Year, Month, Day; int Jour; if((double)(Annee%4)>0) // pas année bisextile Date=(int)(Annee-1900)*365+NbJours+(int)((Annee-1900)/4)+1; else //Année bisextile Date=(int)(Annee-1900)*365+NbJours+(int)((Annee-1900)/4); Date.DecodeDate(&Year,&Month,&Day); //Donne jour,mois,annee (23 05 2001) Jour=Date.DayOfWeek(); // Jour de la semaine (1=dim,7=sam)
Merci à tous les deux,
J'ai essayé les deux codes et ils marchent à la perfection...
Merci encore...
Le miel, ça colle dans les poils, mais c'est pas graaaaaaaaaave !!!
Pensez à mettre [Résolu] dans le sujet de votre message quand votre problème est arrangé...
Salut,
en fait, j'aimerais faire l'inverse.
Comment je peux trouver le numéro du jour de l'année après avoir crée un objet TDate du jour actuel ?
Merki.
Ilsuffit de créer un TDateTime du 1er janvier de l'année et de faire la différence :
Le 1er janvier étant considéré commele premier jour de l'année.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TDateTime dtActuel = Now(); Word an, mois, jour; DecodeDate(dtActuel , an, mois, jour); TDateTime dtDebut (an, mois, jour); int dif = int(dtActuel - dtDebut)+ 1;
Gilbert PASQUALINI
Attention, ce code ne marchera pas tout le temps. Il ne tient pas compte du fait que les fins de siècle ne sont bisextiles que tous les 400 ansEnvoyé par tomtom7
A lire : Les règles du forum
Attention, ce code ne marchera pas tout le temps. Il ne tient pas compte du fait que les fins de siècle ne sont bisextiles que tous les 400 ans
oui bien vu !!!
apparement les résultats sont faux à partir de l'année 2101..le code ne fonctionne qu'entre 1901 et 2100...
il vaut mieux utiliser la fonction "DayOfTheWeek" proposée dans la FAQ :
http://c.developpez.com/faq/bcb/?pag...mainedansannee
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 #include "DateUtils.hpp" // NumDayInYear : numero du jour désirée ex : le 23 eme jour int GetNumDayOfTheWeek(int NumDayInYear,int Year) { //<1900 non géré if(Year<1900) return -1 ; TDateTime dt = EncodeDateTime(1900,1,1,0,0,0,0); int nb_years = Year - 1900; dt= IncYear(dt,nb_years); dt =IncDay(dt,NumDayInYear-1 ); return DayOfTheWeek(dt); }
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