A voir également:
- Fonction cherche le jour debut d'une semaine
- Fonction si et - Guide
- Mettre à jour ses pilotes - Guide
- Mise a jour airpods - Guide
- Mise a jour windows 10 - Guide
- Mise a jour xiaomi - Guide
11 réponses
Utilisateur anonyme
8 août 2003 à 13:24
8 août 2003 à 13:24
Salut,
Tu peux programmer l'algo facilement en se basant sur les données suivantes:
- La plupart des languages stoquent les dates en terme de "nombre de jours écoulés depuis une date de référence"
ex: en VBA le jour 1 est le 31/12/1899
- En utlisant une fonction telleque "Weekday", tu peux savoir à quel jour de la semaine celà correspond.
Donc, si le 1 est un mardi, les jours n° 8, 15,...,701 etc seront aussi des mardis.
Si par exemple tu veux connaître la date correspondante au lundi de la semaine 32 de 2003:
1. Tu utilises Weekday(1/1/2003) = premier jour de l'an (semaine 1) dans ce cas ci il s'agit d'un mercredi.
2. Tu ajoutes 32*7 = 224 jours au 1/1/2003 tu arrives au 13/8/2003 (date du mercredi de la semaine considérée).
2 Il te reste à elever 3 jours --> 11/8/2003
Essaye de pondre l'algo toi même. Si tu n'y arrives pas, reviens nous voir. Il serait intérressant que tu nous dises quel language tu utilise.
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
Tu peux programmer l'algo facilement en se basant sur les données suivantes:
- La plupart des languages stoquent les dates en terme de "nombre de jours écoulés depuis une date de référence"
ex: en VBA le jour 1 est le 31/12/1899
- En utlisant une fonction telleque "Weekday", tu peux savoir à quel jour de la semaine celà correspond.
Donc, si le 1 est un mardi, les jours n° 8, 15,...,701 etc seront aussi des mardis.
Si par exemple tu veux connaître la date correspondante au lundi de la semaine 32 de 2003:
1. Tu utilises Weekday(1/1/2003) = premier jour de l'an (semaine 1) dans ce cas ci il s'agit d'un mercredi.
2. Tu ajoutes 32*7 = 224 jours au 1/1/2003 tu arrives au 13/8/2003 (date du mercredi de la semaine considérée).
2 Il te reste à elever 3 jours --> 11/8/2003
Essaye de pondre l'algo toi même. Si tu n'y arrives pas, reviens nous voir. Il serait intérressant que tu nous dises quel language tu utilise.
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
bonjour,
j'utilise cette formule
DATE(C3;1;1)+(C2-IF(WEEKDAY(DATE(C3;1;1);2)>4;0;1))*7-WEEKDAY(DATE(C3;1;1)+(C2-IF(WEEKDAY(DATE(C3;1;1);2)>4;0;1))*7;2)+1
où C2 la semaine
C3 l'année
salutations
Eugène
j'utilise cette formule
DATE(C3;1;1)+(C2-IF(WEEKDAY(DATE(C3;1;1);2)>4;0;1))*7-WEEKDAY(DATE(C3;1;1)+(C2-IF(WEEKDAY(DATE(C3;1;1);2)>4;0;1))*7;2)+1
où C2 la semaine
C3 l'année
salutations
Eugène
Et voila =)
function getLundi() {
$datetemp = explode("-", Date('Y-m-d'));
return date("Y-m-d", mktime(0, 0, 0, $datetemp[1], $datetemp[2] - Date('w') + 1, $datetemp[0]));
}
function getLundi() {
$datetemp = explode("-", Date('Y-m-d'));
return date("Y-m-d", mktime(0, 0, 0, $datetemp[1], $datetemp[2] - Date('w') + 1, $datetemp[0]));
}
Marmot
Messages postés
579
Date d'inscription
lundi 14 janvier 2002
Statut
Membre
Dernière intervention
17 août 2006
69
7 août 2003 à 18:47
7 août 2003 à 18:47
Heu oui, selon ton langage il existe des librairies toutes faites. C'est l'algo qui t'intéresse ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si c l algo qui t inetresse tu devras utiliser un algo qui detecte si l année est bissextile et par consequent si fevrier termine 28 ou 29 c le seul pb de cette algo.
pr trouver l algo VIVA GOOGLE!
a+ Omar chenobi
pr trouver l algo VIVA GOOGLE!
a+ Omar chenobi
merci pour tous
mais j'ai d'autres questions est ce que je programmé un algo sous java s'il y un exemple ca sera mieux merci d'avance
bari
mais j'ai d'autres questions est ce que je programmé un algo sous java s'il y un exemple ca sera mieux merci d'avance
bari
Heu, sauf erreur de ma part, en PHP5 la fonction qui donne ce résultat existe !
voir http://php.net/manual/fr/datetime.setisodate.php
<?
$date = new DateTime();
$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";
?>
donne le résultat
2008-01-07
voir http://php.net/manual/fr/datetime.setisodate.php
<?
$date = new DateTime();
$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";
?>
donne le résultat
2008-01-07
zaphod29
Messages postés
3
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
29 mars 2009
1
29 mars 2009 à 17:43
29 mars 2009 à 17:43
Bonjour,
Dans mon cas j'avais besoin d'avoir en retour le premier jour de la semaine. et ne plus être dépendant de l'année.
version Française
=((B18*7)-6)-JOURSEM(DATE(ANNEE(AUJOURDHUI());1;1);2)+DATE(ANNEE(AUJOURDHUI());1;1)
Version Anglaise
=((B18*7)-6)-WEEKDAY(DATE(YEAR(TODAY()),1,1),2)+DATE(YEAR(TODAY()),1,1)
B18 = le numéro de la semaine
A+
Pierre
Dans mon cas j'avais besoin d'avoir en retour le premier jour de la semaine. et ne plus être dépendant de l'année.
version Française
=((B18*7)-6)-JOURSEM(DATE(ANNEE(AUJOURDHUI());1;1);2)+DATE(ANNEE(AUJOURDHUI());1;1)
Version Anglaise
=((B18*7)-6)-WEEKDAY(DATE(YEAR(TODAY()),1,1),2)+DATE(YEAR(TODAY()),1,1)
B18 = le numéro de la semaine
A+
Pierre
Utilisateur anonyme
8 août 2003 à 13:37
8 août 2003 à 13:37
Aller, voici une version possible d'un algo:
Lundi = 1,....., Dimanche = 7
Input semaine, Année
Fonction dateLundi(Int Semaine, Int Année)
Joursem = Weekday(1/1/Année)
dateLundi = (1/1/Année) + (Semaine*7) jours - Joursem - 1
Return dateLundi
Fin Fonction
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)
Lundi = 1,....., Dimanche = 7
Input semaine, Année
Fonction dateLundi(Int Semaine, Int Année)
Joursem = Weekday(1/1/Année)
dateLundi = (1/1/Année) + (Semaine*7) jours - Joursem - 1
Return dateLundi
Fin Fonction
Rien n'est plus dangereux qu'une idée quand on a
qu'une idée :-)