jy2m
Messages postés3Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention26 août 2009
-
13 nov. 2005 à 15:25
jy2m
Messages postés3Date d'inscriptionlundi 24 octobre 2005StatutMembreDernière intervention26 août 2009
-
14 nov. 2005 à 06:41
Bonjour,
Je ne connais rien en Javascript, simplement j'ai trouvé un script anglais d'horloge imprécise et je l'ai un peu changé pour l'adapter en français sur un site de littérature (http://perso.wanadoo.fr/livre-et).
Le résultat est amusant, exemple : "Il est environ trois heures dix" mais l'anglais n'étant pas le français il reste 2 problèmes à régler pour qu'il soit parfait (j'ai laissé bien sûr le nom de l'auteur dans le code source) :
1) Comment faire disparaître le mot "heure(s)" seulement pour "MIDI" et "MINUIT" (qui remplaceraient 12 heures et 24 heures) ?
2) Comment faire en sorte que le mot "heure(s)" s'écrive au singulier pour 1 heure et 13 heures et au pluriel pour tout le reste ?
Ceci doit être simplissime pour quelqu'un qui maîtrise, même moyennement, le javascript...
Si donc vous pouvez m'aider pour ceci, voici le script...
<script language="JavaScript">
/*
Plain English Time
By Adam Brown ([mailto:adambrown2@iname.com adambrown2@iname.com])
For this script and more,
Visit http://javascriptkit.com */
function number(x) {
if (x==1) return "une"; if (x==2) return "deux"; if (x==3) return "trois";
if (x==4) return "quatre"; if (x==5) return "cinq"; if (x==6) return "six";
if (x==7) return "sept"; if (x==8) return "huit"; if (x==9) return "neuf";
if (x==10) return "dix"; if (x==11) return "onze"; if (x==12) return "douze";
if (x==13) return "une"; if (x==14) return "deux"; if (x==15) return "trois";
if (x==16) return "quatre"; if (x==17) return "cinq"; if (x==18) return "six";
if (x==19) return "sept"; if (x==20) return "huit"; if (x==21) return "neuf";
if (x==22) return "dix"; if (x==23) return "onze"; if (x==24) return "vingt quatre";
return x; //default
}
function ishtime(h,m) {
h = number(h)
if (m<=3 || m>57) return h+"";
if (m<=7) return "cinq"+h;
if (m<=12) return "dix "+h;
if (m<=17) return "et quart "+h;
if (m<=23) return "vingt "+h;
if (m<=28) return "vingt cinq "+h;
if (m<=33) return "trente "+h;
if (m<=38) return "moins vingt cinq" +h;
if (m<=43) return "moins vingt "+h;
if (m<=48) return "moins le quart "+h;
if (m<=53) return "moins dix "+h;
if (m<=58) return "moins cinq "+h;
return "h:m"; // never reached?
}
function daytime(h) {
if (!h || h>21) return ""
if (h<12) return "";
if (h<=17) return "";
return ""; // default
}
function ish(h,m) {
if (!h && !m) { // if no time supplied, use the system time
time = new Date()
h = time.getHours()
m = time.getMinutes()
}
z = daytime(h);
h = h % 24 // fix to 24 hour clock
if (m>57 && time.getSeconds()>30) m++; // round seconds
if (m>60) m=0 // round up minutes
if (m>33) h++ // round up hours
if (h>24) h = 1 // the clock turns round..
if (h==0) h = 24
return "Il est environ "+ishtime(h,"")+ " heure(s) "+ishtime(" ",m)
}
document.writeln(ish().fontcolor("#666666"),"")