Trouver la date du lundi de la semaine en cours

Résolu
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 - 4 mai 2008 à 11:18
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 - 6 mai 2008 à 14:45
J'ai écrit une fonction qui permet de trouver le numéro de la semaine en cours :
"var dNow :Date  =new Date();
var premierJour:Date= new Date(dNow.getFullYear(),0,1);
var milliSecondesSemaine:Number= 7*3600*24*1000
if( dNow.getDay()==0){
    numeroSemaine=  Math.round((dNow-premierJour)/milliSecondesSemaine)
}else if (dNow.getDay()>0){
    numeroSemaine=  Math.round((dNow-premierJour)/milliSecondesSemaine)+1
}"

Maintenant, je voudrais savoir quel est le numéro de jour du lundi de la semaine courante.
Merci de votre aide.

Benedict
A voir également:

14 réponses

faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
6 mai 2008 à 09:10
Bah j'ai jamais essayer mais :

getDate te retourne la date comprise entre 1 et 31...

et getDay un nombre entre 0 et 6 ou le 1 c'est le lundi donc tu peux facilement faire quelque chose avec c'est 2 la (le plus compliqué ca sera pour quand le lundi et sur le mois d'avant c'est tout...)

Et au passage quand tu posera un ca marche oublie pas d'accepter que cela aide ceux qui ont le meme soucis que toi car la dernière fois tu ne l'as pas fait...

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
3
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
5 mai 2008 à 11:11
Bonjour,

Pourquoi ne pas regarder la doc sur l'objet date??

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
0
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 2
5 mai 2008 à 11:38
Je l'ai regardée quatre fois : je n'ai rien trouvé qui me permette de faire un tableau de tous les lundis de l'année à partir de la semaine 1

Benedict
0
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
5 mai 2008 à 14:31
Qu'entend tu par numéro de jou du lundi de la semaine en cours?

Par exemple tu veux savoir si c'est le :

lundi 12 mai (donc le 12?)
le x eme jours depuis le début de l'année?

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 2
5 mai 2008 à 15:35
Oui. J'ai une variable qui m'indique le numéro de semaine et je voudrais simplement obtenir le numéro de jour (aujourd'hui=5) du lundi de cette semaine.

Benedict
0
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 2
5 mai 2008 à 15:36
Cela me permet d'afficher un calendrier de la semaine à partir de la date du jour

Benedict
0
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
5 mai 2008 à 15:40
Donc si tu veux le numéro entre le 1 a 31 j'avais bien raison regarde la doc y'a une méthode de date qui fait tout ca...  getDay ou getDate je sais plus...

Si tu lis qu'a moitié la doc... >.<

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
0
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 2
5 mai 2008 à 17:31
Ah bon ?
Alors veux-tu me montrer la fonction qui fait qu'avec,

"var toDay:Date = new Date();" //n'importe quel jour
j'obtiens var ceLundi::Date= ..."

Le problème n'est pas d'obtenir le jour de 1 à 31 du lundi d'une date que je connais,(un lundi)  mais de le déduire de n'importe quel autre jour de la semaine.
Si tu lis qu'à moitié ce que j'écris
Je bosse dessus depuis cinq jours et je n'ai toujours pas trouvé.

Benedict
0
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 2
5 mai 2008 à 17:33
Bien sûr, je pourrais faire un tableau de tous les lundis de l'année.
Mais je suis sûr qu'il y a un algorithme plus élégant.

Benedict
0
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
5 mai 2008 à 17:36
Tu peu avoir le jour du mois a partir de l'objet date... (valeur comprise entre 1 et 31)

Et tu peux avoir savoir si nous sommes un lundi mardi etc... Donc si tu veux savoir si quelle jours et le lundi je vois pas trop ou est le soucis?

Sois j'ai pas compris du tout ce que tu veux et dans ce cas la reformule sois tu as juste une soustraction a faire et dans ce cas le débat et clos ;)

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
0
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 2
5 mai 2008 à 18:32
C'est sûr que je ne suis pas vraiment le champion des dates.
Tu veux dire qu'à partir de la date du jour, je peux faire un test (switch toDay.getDay) et calculer le lundi en faisant une soustraction ?

Benedict
0
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 2
6 mai 2008 à 13:08
Eureka 






var dNow :Date  =new Date();
var numeroJour:Number=dNow.getDay()
trace(numeroJour);
var dNowTime=dNow.getTime()
trace(dNowTime)
var ceLundi:Number
trace((numeroJour-1)*86400000);
ceLundi=dNowTime- ((numeroJour-1)*86400000)
 lundi=new Date(ceLundi)
trace(lundi)
var mois:Array = [" janvier"," février"," mars"," avril"," mai"," juin"," juillet"," août"," septembre"," octobre"," novembre"," décembre"];
trace(lundi.getDate() +mois[lundi.getMonth()])// affiche 5 mai

Ouf !
Merci de tes encouragements, faiblard.

Benedict
0
faiblard Messages postés 337 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 4 janvier 2011
6 mai 2008 à 14:13
Par contre juste une question est que ca marche ta solution si par exemple le lundi est sur le moi précédent? :p
Par exemple la semaine derniere le lundi était le 28 avril...

Cela a mon avis complique légèrement la chose mais bon....

(j'ai pas flash pour tester...)

Bonne continuation !
-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
0
cs_benedict Messages postés 187 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 7 mai 2009 2
6 mai 2008 à 14:45
A priori oui puisque les calculs sont faits à partir du format en millisecondes
ceLundi=dNowTime- ((numeroJour-1)*86400000) // donne un nombre de millisecondes depuis la cinglinglin
 lundi=new Date(ceLundi) // donne une date à partir du nombre de millisecondes

Benedict
0
Rejoignez-nous