Aide pour compteur - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 




Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Aide pour compteur
 
Profil : IDNaute
Plus d'informations

A vrai dire je ne savais pas trop dans quelle catégorie poster ceci... J'espere que c'est la bonne.

J'explique :

Je suis actuellement sur un site de simulation politique, nous fonctionnons avec une unité de temps tel que 1mois réel = 6 mois fictifs.
Le problème c'est que nous avons énormément de mal pour nous reperer et déduire de la date a laquelle on se trouve en fictif.
Donc je voudrais savoir s'il n'y aurais pas un moyen de créer "un compteur" qui afficherais la date (et l'heure ?) Mais de sorte qu'elle s'écoule 6 fois plus vite que la réalité.
Ce compteur serais affiché en haut de notre forum.

Si quelqu'un peut me renseigner, merci beaucoup.


---------------
http://curieuxsansfrontiere.oldiblog.com/
Liens sponsorisés


Inscrivez-vous ou connectez-vous pour masquer ceci.

http://www.gugusland.com
Profil : IDNaute
Plus d'informations

Je pense que ceci devrait marcher (dans une page php):

Dans le head

Code :
  1. <SCRIPT LANGUAGE=JavaScript type="text/javascript">
  2. ejs_server_date = new Date(0,0,0,<? echo date("H, i, s" ); ?> )
  3. ejs_server_heu = ejs_server_date.getHours();
  4. ejs_server_min = ejs_server_date.getMinutes();
  5. ejs_server_sec = ejs_server_date.getSeconds();
  6. function ejs_server_calc()
  7. {
  8. if (ejs_server_sec < 10)
  9.     ejs_server_sec = "0"+Math.round(ejs_server_sec);
  10. else if(ejs_server_sec >= 60)
  11.     {
  12.     ejs_server_sec = "00";
  13.     ejs_server_min++;
  14.     }
  15. if (ejs_server_min < 10)
  16.     ejs_server_min = "0"+Math.round(ejs_server_min);
  17. else if(ejs_server_min >= 60)
  18.     {
  19.     ejs_server_min = "00";
  20.     ejs_server_heu++;
  21.     }
  22. if (ejs_server_heu < 10)
  23.     ejs_server_heu = "0"+Math.round(ejs_server_heu);
  24. else if(ejs_server_heu >= 24)
  25.     {
  26.     ejs_server_heu = "00";
  27.     }
  28. ejs_server_texte = ejs_server_heu + ":" + ejs_server_min + ":" + ejs_server_sec;
  29. if (document.getElementById){
  30.     document.getElementById("ejs_server_heure" ).innerHTML=ejs_server_texte;
  31.     }
  32. ejs_server_sec++;
  33. }
  34. setInterval("ejs_server_calc()", 1000);
  35. </script>



Dans ta page :

Code :
  1. <div ID=ejs_server_heure></div>




Ceci va juste récupérer l'heure et la faire défiler, après pour l'accélérer je sais pas.

PS : J'ai pas testé ...


---------------
Venez jouer sur mon site : http://www.gugusland.com c'est gratuit
mes autres sites : http://jeremy1000.free.fr > http://ze.jeux.free.fr
Profil : IDNaute
Plus d'informations

Alors selon toi, avec ca o peut au moins afficher l'heure normale ?
C'est normal que dans la liste il n'y ait pas de 2. et de 7. ?
Je vais déja essayer.

Et quelqu'un saurais comment multiplier ça pour qu'elle défile par exemple 6fois plus vite ???


Merci.


---------------
http://curieuxsansfrontiere.oldiblog.com/
http://www.gugusland.com
Profil : IDNaute
Plus d'informations

"C'est normal que dans la liste il n'y ait pas de 2. et de 7"


De quoi tu parles ?

Profil : IDNaute
Plus d'informations

Dans le code que tu vient a donné, au début de chaque ligne il y a :

1.
3.
4.
5.
6.
8.
9.
....


Mais il n'y a pas le 2 et le 7 , je pose la question car j'ai trouvé ça byzarre.

Par contre ça c'est pour l'heure, mais ce quil me faudrais c'est la date, l'heure je m'en fou.
Est ce qu'il suffirais de remplacer "hours" "min" et "sec" par "year" "month" et "day" ?


---------------
http://curieuxsansfrontiere.oldiblog.com/
http://www.gugusland.com
Profil : IDNaute
Plus d'informations

aaa, mais faut pas mettre les numéros
Faut juste mettre ça :

 

<SCRIPT LANGUAGE=JavaScript type="text/javascript">

 

ejs_server_date = new Date(0,0,0,<? echo date("H, i, s" ); ?> )
ejs_server_heu = ejs_server_date.getHours();
ejs_server_min = ejs_server_date.getMinutes();
ejs_server_sec = ejs_server_date.getSeconds();

 

function ejs_server_calc()
{
if (ejs_server_sec < 10)
ejs_server_sec = "0"+Math.round(ejs_server_sec);
else if(ejs_server_sec >= 60)
{
ejs_server_sec = "00";
ejs_server_min++;
}
if (ejs_server_min < 10)
ejs_server_min = "0"+Math.round(ejs_server_min);
else if(ejs_server_min >= 60)
{
ejs_server_min = "00";
ejs_server_heu++;
}
if (ejs_server_heu < 10)
ejs_server_heu = "0"+Math.round(ejs_server_heu);
else if(ejs_server_heu >= 24)
{
ejs_server_heu = "00";
}
ejs_server_texte = ejs_server_heu + ":" + ejs_server_min + ":" + ejs_server_sec;
if (document.getElementById){
document.getElementById("ejs_server_heure" ).innerHTML=ejs_server_texte;
}
ejs_server_sec++;
}
setInterval("ejs_server_calc()", 1000);
</script>

 


et ça

 

<div ID=ejs_server_heure></div>

 


Les numéros servent à rien, c'est le forum qui les rajoute pour se repérer dans le programme.


Message édité par jerbe le 01-06-2008 Ã  20:16:11
Profil : IDNaute
Plus d'informations

ok ok
Et alors si je veut la date au lieu de l'heure, je remplace juste heure, minute et seconde par année, mois et jours ?
Peut être que ce n'est pas aussi simple ... ?


---------------
http://curieuxsansfrontiere.oldiblog.com/
http://www.gugusland.com
Profil : IDNaute
Plus d'informations

Juste la date ? dans ce cas fait juste ça en php :

 

<?php
echo date('D') . "/" . date('M') . "/" . date('Y');
?>

 

Pas besoin d'actualiser toutes les secondes pour afficher juste la date du jour.

 


EDIT : je viens d'avoir une idée pour faire défiler 6 fois plus vite, c'est pas très dur.

 

<?php
$date_en_seconde = (date("Y" )-1) * 365.25 * 24 * 60 * 60 + (date("m" )-1) * 30.44 * 24 * 60 * 60 + date("d" ) * 24 * 60 * 60 + date("h" ) * 60 * 60 + date("i" ) * 60 + date("s" );

 

//inversion
$new_date = $date_en_seconde * 6;

 

while($new_date > (31536000-1))
{
$annee++;
$new_date = $new_date - 31536000;
}
while($new_date > (2592000-1))
{
$mois++;
$new_date = $new_date - 2592000;
}
while($new_date > (86400-1))
{
$jour++;
$new_date = $new_date - 86400;
}
while($new_date > (3600-1))
{
$heure++;
$new_date = $new_date - 3600;
}
while($new_date > (60-1))
{
$minute++;
$new_date = $new_date - 60;
}
$seconde = $new_date;
echo "Nouvelle date : $jour/$mois/$annee $heure h $minute : $seconde";

 

?>

 


Voila, tu peux changer le 6 de la ligne 5 pour changer la vitesse


Message édité par jerbe le 01-06-2008 Ã  23:34:21

---------------
Venez jouer sur mon site : http://www.gugusland.com c'est gratuit
mes autres sites : http://jeremy1000.free.fr > http://ze.jeux.free.fr
Profil : IDNaute
Plus d'informations

Ben propose, ça peut marcher.


---------------
http://curieuxsansfrontiere.oldiblog.com/
http://www.gugusland.com
Profil : IDNaute
Plus d'informations

J'ai édité mon post.
Comme tu peux le voir j'ai été jusqu'aux secondes, mais il te suffit de virer ce que tu ne veux pas.


Message édité par jerbe le 01-06-2008 Ã  23:37:53

---------------
Venez jouer sur mon site : http://www.gugusland.com c'est gratuit
mes autres sites : http://jeremy1000.free.fr > http://ze.jeux.free.fr
Profil : IDNaute
Plus d'informations

Merci beaucoup, je vais voir ce que ça donne ;)


---------------
http://curieuxsansfrontiere.oldiblog.com/

  FORUM Infos-du-Net » Programmation » Aide pour compteur

Aller à :
 

Liens