Aller au contenu
djmalo

déduire le jour de la semaine à partir d'une date ?

Messages recommandés

re hello!

 

ai encore un ptit blème avec mes jours de la semaine :

 

voilà j'ai une date format aa/mm/jj et à partir de celle-ci je dois en déduire le jour de la semaine .

 

ex: j'ai 02/05/02 : est-ce un lundi , un mardi...., un dimanche ?

 

y'a t'-il une routine qui me permettrai d'avoir le jour en question?

 

sinon quelqu'un aurait-il une idée d'algorithme?

je suppose qu'une idée serai de partir d'un jour de référence comme le 1er janvier 2002 et de faire les calculs à partir de cette référence...?

 

sinon au passage y'a pas un autre forum dans le genre bien fourni , histoire d'élargir mon champ de réponse ? :-(

 

merci d'avance pour votre aide!

 

malo :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Oh oui, c'est forcément quelque part dans les librairies C du projet GNU, cette fonction, donc c'est dispo à qui la veut...

L'avantage, c'est que t'as déjà tout d'écrit.

OK, l'inconvénient, c'est qu'il faut aller fouiller dans les sources des librairies.

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu programmes en C ?

Sur quelle plateforme ?

Parce qu'avec un bon time_t tu devrais pouvoir t'en tirer, mais bon, faut avoir les librairies C standard...

Partager ce message


Lien à poster
Partager sur d’autres sites

yep je programme en C.

 

Oui j'ai déjà entendu parler de la librairie time_t sans trop savoir à quoi elle pouvait servir.

 

tu sais pas où je pourrais trouver des infos là dessus?

Partager ce message


Lien à poster
Partager sur d’autres sites

Extrait de la doc officielle de PHP :

string date (string format, int timestamp )  

date() retourne une date sous forme d'une chaîne, au format donné par la chaîne format. La date est fournie sous la forme d'un timestamp. Par défaut, la date courante est utilisée.  

Les caractères suivants sont utilisés pour spécifier le format : @itemize @bullet

 

a - "am" (matin) ou "pm" (après-midi)  

A - "AM" (matin) ou "PM" (après-midi)  

B - Heure Internet Swatch  

d - Jour du mois, sur deux chiffres (éventuellement avec un zéro) : "01" à "31"  

D - Jour de la semaine, en trois lettres (et en anglais) : par exemple "Fri" (pour Vendredi)  

F - Mois, textuel, version longue; en anglais, i.e. "January" (pour Janvier)  

g - Heure, au format 12h, sans les zéros initiaux i.e. "1" à "12"  

G - Heure, au format 24h, sans les zéros initiaux i.e. "0" à "23"  

h - Heure, au format 12h, "01" à "12"  

H - heure, au format 24h, "00" à "23"  

i - Minutes; "00" à "59"  

I (i majuscule) - "1" si l'heure d'été est activée, "0" si l'heure d'hiver .  

j - Jour du mois sans les zéros initiaux: "1" à "31"  

l - ('L' minuscule) - Jour de la semaine, textuel, version longue; en anglais, i.e. "Friday" (pour Vendredi)

L - Booléen pour savoir si l'année est bissextile ("1") ou pas ("0")  

m - Mois; i.e. "01" à "12"  

M - Mois, en trois lettres (et en anglais) : par exemple "Apr" (pour Avril)  

n - Mois sans les zéros initiaux; i.e. "1" à "12"  

r - Format de date RFC 822; i.e. "Thu, 21 Dec 2000 16:01:07 +0200" (ajouté en PHP 4.0.4)  

s - Secondes; i.e. "00" à "59"  

S - Suffixe ordinal d'un nombre, en anglais, sur deux lettres : i.e. "th", "nd"  

t - Nombre de jours dans le mois donné, i.e. "28" à "31"  

T - Fuseau horaire de la machine ; i.e. "MET"  

U - Secondes depuis une époque  

w - Jour de la semaine, numérique, i.e. "0" (Dimanche) to "6" (Samedi)  

Y - Année, 4 chiffres; i.e. "1999"  

y - Année, 2 chiffres; i.e. "99"  

z - Jour de l'année; i.e. "0" à "365"  

Z - Décalage horaire en secondes (i.e. "-43200" à "43200")

 

Ca m'étonnerais qu'il n'y ai pas l'équivalent en C...

Partager ce message


Lien à poster
Partager sur d’autres sites

:P

 

Ton algo doit tenir compte de :

 

_les annees bisextiles (multiples de 4)

_les annees seculaires , non bisextiles (multiples de 100)

_les annees multiples de 400, seculaires mais bisextiles (comme 2000)

 

C'est pas fini!

 

Faut aussis penser au passage au calendrier GREGORIEN,

qui fait sauter 10 jours a l'annee 1582 (en France)

 

C'est pas fini!

 

pour les dates AVJC,pas oublier qu'il n'y a pas d'annee zero

tu passes direct de -1 a +1

 

J'ais rien oublié?

@+/-

Partager ce message


Lien à poster
Partager sur d’autres sites
:-(

 

Au lieu de te marrer betement!,

reponds a cette question:

Combien la terre fait de tour sur elle meme en un an?

 

364? 365? 366?

 

Si tu réponds 365 , c'est coups de regle sur les doigts!

 

ça t'apprendra à te marrer betement! :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×