Ce Javascript permet de donner le jour précédent et le jour suivant selon une date. Il tient compte des années bisextiles.
Ce script affiche dans une autre frame une page de la forme "yyyy-mm-jj.htm"
(très pratique lors de l'affichage de résultats de traitement quotidien en HTML).
Je me suis inspiré d'un code présent sur ce site mais je ne me souviens plus lequel: merci quand même à celui qui se reconnaitra :)
Source / Exemple :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Date</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="Javascript">
<!--
var currjour= "00";
var currmois= "00";
var curran= "00";
function init() {
madate = new Date();
currjour = madate.getDate();
currmois = madate.getMonth();
curran = madate.getYear();
}
function PrevPage(curran,currmois,currjour)
{
var jour;
var mois;
var an;
var curjour = parseInt(currjour);
var curmois = parseInt(currmois);
var curan = parseInt(curran);
var fev;
if (curan%4 == 0 && curan%100 !=0 || curan%400 == 0) {
fev = 29;
} else {
fev = 28;
}
// Nombre de jours pour chaque mois
var nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
if (curmois == 1) {
if (curjour == 1) {
an = curan - 1;
mois = 12;
jour = nbJours[mois-1]; // mois en cours
} else {
an = curan;
jour = nbJours[curmois-2]; // mois précédent
mois = curmois;
}
} else {
if (curjour == 1) {
an = curan;
mois = curmois - 1;
jour = nbJours[curmois-2]; // mois précédent
} else {
jour = curjour - 1;
mois = curmois;
an = curan;
}
}
AffichRes(an,mois,jour);
}
function NextPage(curran,currmois,currjour)
{
var jour;
var mois;
var an;
var curjour = parseInt(currjour);
var curmois = parseInt(currmois);
var curan = parseInt(curran);
var fev;
if (curan%4 == 0 && curan%100 !=0 || curan%400 == 0) {
fev = 29;
} else {
fev = 28;
}
var nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
if (curmois == 12) { //décembre
if (curjour == nbJours[curmois-1]) { // dernier jour du mois
an = curan + 1;
mois = 1;
jour = 1;
} else {
an = curan;
jour = curjour + 1;
mois = curmois;
}
} else {
if (curjour == nbJours[curmois-1]) {
an = curan;
mois = curmois + 1;
jour = 1; // mois précédent
} else {
jour = curjour + 1;
mois = curmois;
an = curan;
}
}
AffichRes(an,mois,jour);
}
function AffichRes(an,mois,jour)
{
var URL= "";
document.form1.selectannee.value = an;
document.form1.selectmois.value = mois;
document.form1.selectjour.value = jour;
if ((mois == 1) || (mois == 2) || (mois == 3) || (mois == 4) || (mois == 5) || (mois == 6) || (mois == 7) || (mois == 8) || (mois == 9)) {
mois = "0" + mois;
}
if ((jour == 1) || (jour == 2) || (jour == 3) || (jour == 4) || (jour == 5) || (jour == 6) || (jour == 7) || (jour == 8) || (jour == 9)) {
jour = "0" + jour;
}
URL = URL.concat(an,"-", mois,"-", jour, ".htm");
alert(URL);
parent.frames["mainFrame"].location.href = URL;
}
// -->
</script>
</head>
<BODY onLoad="init();">
<div align="center">
<p><font face="Verdana, Arial, Helvetica, sans-serif"><strong>Date</strong></font></p>
<table width="500" border="0">
<tr>
<td width="100%"> <form name="form1" method="post" action="">
<p align="center"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">
<select name="selectjour">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<em>jour</em> <em>
<select name="selectmois">
<option value="1" selected>Janvier</option>
<option value="2">Février</option>
<option value="3">Mars</option>
<option value="4">Avril</option>
<option value="5">Mai</option>
<option value="6">Juin</option>
<option value="7">Juillet</option>
<option value="8">Août</option>
<option value="9">Septembre</option>
<option value="10">Octobre</option>
<option value="11">Novembre</option>
<option value="12">Décembre</option>
</select>
mois
<select name="selectannee">
<option value="2003">2003</option>
<option value="2004" selected>2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
</select>
année </em>
<input type="button" name="affich" value="Afficher" onClick="AffichRes(document.form1.selectannee.value,document.form1.selectmois.value,document.form1.selectjour.value)">
</font></p>
<p align="center"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="butPrec" type="button" id="butPrec" value="Jour précédent" onClick="PrevPage(document.form1.selectannee.value,document.form1.selectmois.value,document.form1.selectjour.value)">
<input name="butNext" type="button" id="butNext" value="Jour Suivant" onClick="NextPage(document.form1.selectannee.value,document.form1.selectmois.value,document.form1.selectjour.value)">
</font></p>
</form></td>
</tr>
</table>
</div>
</body>
</html>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.