A voir également:
- Petit probleme JavaScript ...
- Telecharger javascript - Télécharger - Langages
- Javascript round ✓ - Forum Javascript
- Trier du plus petit au plus grand excel - Guide
- A javascript error occurred in the main process - Forum Matériel & Système
- Petit 9 - Forum Mail
4 réponses
Sois plus précise, disons que la adte est le 22 septembre 1988, au hasard, et tu aimerais savoir combien de semaines ce sont passées depuis cette date ? Il faut dévellopper un algorithme et ca ca prend un bon moment mais si tu le veux vraiment et que tu t'y connais un peu, ca devarit aller; mais moi je peux pas t'aider. Pas tant que j'ai pas une heure devant moi...
@+
OmEn [i2n]
@+
OmEn [i2n]
function getDifference(y, m, j)
{
var now = new Date();
var date = new Date(y, m, j);
var day = now.getDate() - date.getDate();
var month = (now.getMonth() - date.getMonth()) + 1;
if(month < 1)
{
date.setYear(date.getFullYear() - 1);
month = m;
}
month *= 30;
var year = (now.getFullYear() - date.getFullYear()) * 365;
var total = day + month + year;
return total / 7;
}
Ce doit etre quelque chose comme cela mais je n'ai pas eu le temps de le tester... Je me suis dépeché pour toi alors soit reconnaissante.
@+
OmEn [i2n]
{
var now = new Date();
var date = new Date(y, m, j);
var day = now.getDate() - date.getDate();
var month = (now.getMonth() - date.getMonth()) + 1;
if(month < 1)
{
date.setYear(date.getFullYear() - 1);
month = m;
}
month *= 30;
var year = (now.getFullYear() - date.getFullYear()) * 365;
var total = day + month + year;
return total / 7;
}
Ce doit etre quelque chose comme cela mais je n'ai pas eu le temps de le tester... Je me suis dépeché pour toi alors soit reconnaissante.
@+
OmEn [i2n]
Corrections :
function getDifference(y, m, j)
{
var now = new Date();
var date = new Date(y, m, j);
var day = now.getDate() - date.getDate();
if(day < 1)
{
day += 30;
date.setMonth(date.getMonth());
}
var month = (now.getMonth() - date.getMonth()) + 1;
if(month < 1)
{
month += 12
date.setYear(date.getFullYear() - 1);
}
month *= 30;
var year = (now.getFullYear() - date.getFullYear()) * 365;
var total = day + month + year;
return total / 7;
}
OmEn [i2n]
www.i-2n.net
function getDifference(y, m, j)
{
var now = new Date();
var date = new Date(y, m, j);
var day = now.getDate() - date.getDate();
if(day < 1)
{
day += 30;
date.setMonth(date.getMonth());
}
var month = (now.getMonth() - date.getMonth()) + 1;
if(month < 1)
{
month += 12
date.setYear(date.getFullYear() - 1);
}
month *= 30;
var year = (now.getFullYear() - date.getFullYear()) * 365;
var total = day + month + year;
return total / 7;
}
OmEn [i2n]
www.i-2n.net
et bien en fait ton code m'a inspirer ce qui a donnée:
function num_semaine(a,m,j)
{
var dDate1;
var dDatePrev;
var dDate2;
var dJour2;
var pSem = new Date(a,0,1);
var pJour = pSem.getDay();
if (pJour == 0)
{
pJour = 7;
}
var vInt = (7 - pJour) + 1;
var vPlus = 7 - vInt;
var dDate = new Date(a,m,j); //mois actuelle
//numero du mois actuel
var numMois = dDate.getMonth(); var nbJour = dDate.getDate();
for(i=0 ; i < numMois ; i++)
{
//premier jour du mois ac
dDate1 = new Date(a,m, 1);
//premier jour du mois pc
dDatePrev = new Date(dDate1);
dDatePrev.setMonth(dDate1.getMonth()-1);
//date entiere sur le dernier jour du mois
dDate2 = new Date(dDatePrev);
dDate2.setDate(dDate1.getDate()-1);
//dernier jour du mois actuel
dJour2 = dDate2.getDate();
nbJour += dJour2;
m = m - 1;
}
var nSem = (nbJour + vPlus )/7
nSem = Math.ceil(nSem);
if (nSem == 53)
{
nSem = 1;
}
return nSem;
}
ce qui renvoie 10 si la date en parametre est comprise entre le 4 et 10 avril 2002.
function num_semaine(a,m,j)
{
var dDate1;
var dDatePrev;
var dDate2;
var dJour2;
var pSem = new Date(a,0,1);
var pJour = pSem.getDay();
if (pJour == 0)
{
pJour = 7;
}
var vInt = (7 - pJour) + 1;
var vPlus = 7 - vInt;
var dDate = new Date(a,m,j); //mois actuelle
//numero du mois actuel
var numMois = dDate.getMonth(); var nbJour = dDate.getDate();
for(i=0 ; i < numMois ; i++)
{
//premier jour du mois ac
dDate1 = new Date(a,m, 1);
//premier jour du mois pc
dDatePrev = new Date(dDate1);
dDatePrev.setMonth(dDate1.getMonth()-1);
//date entiere sur le dernier jour du mois
dDate2 = new Date(dDatePrev);
dDate2.setDate(dDate1.getDate()-1);
//dernier jour du mois actuel
dJour2 = dDate2.getDate();
nbJour += dJour2;
m = m - 1;
}
var nSem = (nbJour + vPlus )/7
nSem = Math.ceil(nSem);
if (nSem == 53)
{
nSem = 1;
}
return nSem;
}
ce qui renvoie 10 si la date en parametre est comprise entre le 4 et 10 avril 2002.
16 avril 2002 à 13:56
merci