Calendrier inventé [Javascript]

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Calendrier inventé [Javascript]

Message par thaom melcrudak le Dim 2 Fév 2014 - 20:50

Bonjour et merci d'avance. Tout d'abord : Je suis fondateur, mon forum est en phpbb2.

J'ai installé un code JS dans la section appropriée sur mon forum et il ne me manque que de comprendre comment insérer ceci :        
Code:
<span class="idate"></span>
afin que ledit code s'affiche dans ma section ''Généralités'' . Il s'agit d'un calendrier. Voici mon code JS :

Code:


        $(function(){
        
          if(!$('.idate').length) return;
        
          var mois= ["Vur", "Dan", "Brives", "Autron", "Brinhal", "Fan", "Afail", "Menail", "Chamtasque", "Branfale", "Bagne", "Gec"];
        
          var jours= ["Liunda","Miunda","Miwenda","Jewuina", "Vendelia", "Samelia", "Demonda"];
          
          var seconde_par_vrai_seconde= 1;
            var seconde_par_minute= 60;
            var minute_par_heure= 60;
            var heure_par_jour= 24;
            var jour_par_mois= jours.length * 4;
        
          // Nombre de seconde au bout duquel la date doit être mise à jour
            var mise_a_jour= 1;
        
          // date le 1er janvier 1970 à 00:00:00
            var s_annee= 16ième année de l'ère du Second souffle;
            var s_mois= 1; // 0 est le premier mois de l'année
            var s_jour= 1; // 0 est le premier jour du mois
            var s_heure= 0;
            var s_minute= 0;
            var s_seconde= 0;
            var s_jour_de_semaine= 6; // 0 est le premier jour de la semaine
        
          // décalage horaire par rapport à greenwitch ( 1 pour +1h )
            var decalage= 1;
        
          var last_date;
        
          var update_time= function(){
        
              var cur_date = Math.floor(Math.floor(+new Date()/1000) * seconde_par_vrai_seconde);
                cur_date+= (decalage * seconde_par_minute * minute_par_heure);
            
              if(last_date)
                {
                    cur_date-= last_date;
                    last_date+= cur_date;
                }
                else
                {
                    last_date= cur_date;
                }
        
              do
                {
                    if(cur_date <= 0) break;
                    // Calcul secondes
                    var reste= cur_date % seconde_par_minute;
                    cur_date= ( cur_date - reste ) / seconde_par_minute;
                    s_seconde+= reste;
                    if(s_seconde >= seconde_par_minute)
                    {
                        s_seconde-= seconde_par_minute;
                        cur_date++;
                    }
        
                  if(cur_date <= 0) break;
                    // Calcul minutes
                    reste= cur_date % minute_par_heure;
                    cur_date= ( cur_date - reste ) / minute_par_heure;
                    s_minute+= reste;
                    if(s_minute >= minute_par_heure)
                    {
                        s_minute-= minute_par_heure;
                        cur_date++;
                    }
        
                  if(cur_date <= 0) break;
                    // Calcul heures
                    reste= cur_date % heure_par_jour;
                    cur_date= ( cur_date - reste ) / heure_par_jour;
                    s_heure+= reste;
                    if(s_heure >= heure_par_jour)
                    {
                        s_heure-= heure_par_jour;
                        cur_date++;
                    }
        
                  if(cur_date <= 0) break;
                    // Calcul jour de semaine
                    reste= cur_date % jours.length;
                    s_jour_de_semaine+= reste;
                    if(s_jour_de_semaine >= jours.length)
                    {
                        s_jour_de_semaine-= jours.length;
                    }
        
                  // Calcul jours du mois
                    reste= cur_date % jour_par_mois;
                    cur_date= ( cur_date - reste ) / jour_par_mois;
                    s_jour+= reste;
                    if(s_jour >= jour_par_mois)
                    {
                        s_jour-= jour_par_mois;
                        cur_date++;
                    }
        
                  if(cur_date <= 0) break;
                    // Calcul du mois
                    reste= cur_date % mois.length;
                    cur_date= ( cur_date - reste ) / mois.length;
                    s_mois+= reste;
                    if(s_mois >= mois.length)
                    {
                        s_mois-= mois.length;
                        cur_date++;
                    }
        
                  if(cur_date <= 0) break;
                    s_annee+= cur_date;
                } while (0);
        
              $('.idate').text(jours[s_jour_de_semaine]+' '+(s_jour+1)+' '+mois[s_mois]+' '+s_annee+' '+s_heure+':'+s_minute+':'+s_seconde);
        
          };
        
          update_time();
        
          setInterval(update_time,1000 * mise_a_jour);
        
      });

Voilà..Wink

EDIT: Url du forum
Code:
http://ildir.purforum.com


Dernière édition par thaom melcrudak le Lun 3 Fév 2014 - 18:43, édité 2 fois

thaom melcrudak
***

Féminin
Messages : 123
Inscrit(e) le : 12/01/2014

http://www.ildir.purforum.com
thaom melcrudak a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Calendrier inventé [Javascript]

Message par Adam_sfp le Dim 2 Fév 2014 - 22:15

Bonsoir

Il me semble une erreur dans cette ligne
Code:
var s_annee= 16ième année de l'ère du Second souffle;
mettre juste le nombre d'années
Puis mettre ceci en page d'accueil
Code:
        <span class="idate"></span>

Cdt.

Adam_sfp
+ Hyperactif +

Masculin
Messages : 4157
Inscrit(e) le : 18/04/2008

http://antonyadam.1fr1.net/portal.htm
Adam_sfp a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Calendrier inventé [Javascript]

Message par thaom melcrudak le Dim 2 Fév 2014 - 22:34

Bonjour ! Merci, je vois la date défiler sur ma PA, mais le jour et l'année ne sont pas les bons.



Elle devrait être:

Demonda 2 Vur 16 22:22 (Dimanche 2 février 2014 22:22)

Et elle donne:

Miwenda 5 Vur 64 22:22 (Mercredi 5 février 2062 22:22)


Ensuite: Y a-t-il possibilité de mettre cette formulation à notre horloge ?

Demonda, 5 de Vur, 16ième année de l'ère du Second Souffle

Finalement: Est-il possible de modifier la taille, la couleur, le BBCode ([i], [b], etc.) du produit fini ?

Merci d'avance !

Thaom

Ps: Votre rapidité et votre pertinence d'action imposent le respect. Merci de votre travail remarquable!

Pss: Voici le JS modifié.

Code:
$(function(){
        
           if(!$('.idate').length) return;
        
           var mois= ["Vur", "Dan", "Brives", "Autron", "Brinhal", "Fan", "Afail", "Menail", "Chamtasque", "Branfale", "Bagne", "Gec"];
        
           var jours= ["Liunda","Miunda","Miwenda","Jewuina", "Vendelia", "Samelia", "Demonda"];
          
           var seconde_par_vrai_seconde= 1;
            var seconde_par_minute= 60;
            var minute_par_heure= 60;
            var heure_par_jour= 24;
            var jour_par_mois= jours.length * 4;
        
           // Nombre de seconde au bout duquel la date doit être mise à jour
            var mise_a_jour= 1;
        
           // date le 1er janvier 1970 à 00:00:00
            var s_annee= 16;
            var s_mois= 1; // 0 est le premier mois de l'année
            var s_jour= 1; // 0 est le premier jour du mois
            var s_heure= 0;
            var s_minute= 0;
            var s_seconde= 0;
            var s_jour_de_semaine= 6; // 0 est le premier jour de la semaine
        
           // décalage horaire par rapport à greenwitch ( 1 pour +1h )
            var decalage= 1;
        
           var last_date;
        
           var update_time= function(){
        
               var cur_date = Math.floor(Math.floor(+new Date()/1000) * seconde_par_vrai_seconde);
                cur_date+= (decalage * seconde_par_minute * minute_par_heure);
            
               if(last_date)
                {
                    cur_date-= last_date;
                    last_date+= cur_date;
                }
                else
                {
                    last_date= cur_date;
                }
        
               do
                {
                    if(cur_date <= 0) break;
                    // Calcul secondes
                    var reste= cur_date % seconde_par_minute;
                    cur_date= ( cur_date - reste ) / seconde_par_minute;
                    s_seconde+= reste;
                    if(s_seconde >= seconde_par_minute)
                    {
                        s_seconde-= seconde_par_minute;
                        cur_date++;
                    }
        
                   if(cur_date <= 0) break;
                    // Calcul minutes
                    reste= cur_date % minute_par_heure;
                    cur_date= ( cur_date - reste ) / minute_par_heure;
                    s_minute+= reste;
                    if(s_minute >= minute_par_heure)
                    {
                        s_minute-= minute_par_heure;
                        cur_date++;
                    }
        
                   if(cur_date <= 0) break;
                    // Calcul heures
                    reste= cur_date % heure_par_jour;
                    cur_date= ( cur_date - reste ) / heure_par_jour;
                    s_heure+= reste;
                    if(s_heure >= heure_par_jour)
                    {
                        s_heure-= heure_par_jour;
                        cur_date++;
                    }
        
                   if(cur_date <= 0) break;
                    // Calcul jour de semaine
                    reste= cur_date % jours.length;
                    s_jour_de_semaine+= reste;
                    if(s_jour_de_semaine >= jours.length)
                    {
                        s_jour_de_semaine-= jours.length;
                    }
        
                   // Calcul jours du mois
                    reste= cur_date % jour_par_mois;
                    cur_date= ( cur_date - reste ) / jour_par_mois;
                    s_jour+= reste;
                    if(s_jour >= jour_par_mois)
                    {
                        s_jour-= jour_par_mois;
                        cur_date++;
                    }
        
                   if(cur_date <= 0) break;
                    // Calcul du mois
                    reste= cur_date % mois.length;
                    cur_date= ( cur_date - reste ) / mois.length;
                    s_mois+= reste;
                    if(s_mois >= mois.length)
                    {
                        s_mois-= mois.length;
                        cur_date++;
                    }
        
                   if(cur_date <= 0) break;
                    s_annee+= cur_date;
                } while (0);
        
               $('.idate').text(jours[s_jour_de_semaine]+' '+(s_jour+1)+' '+mois[s_mois]+' '+s_annee+' '+s_heure+':'+s_minute+':'+s_seconde);
        
           };
        
           update_time();
        
           setInterval(update_time,1000 * mise_a_jour);
        
       });

thaom melcrudak
***

Féminin
Messages : 123
Inscrit(e) le : 12/01/2014

http://www.ildir.purforum.com
thaom melcrudak a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Calendrier inventé [Javascript]

Message par Adam_sfp le Lun 3 Fév 2014 - 17:56

Bonsoir

Si c'est pour que l'on soit sur l'heure et la date actuelle mais avec les jours et mois nommés différemment.

Vous pouvez essayer ce code en page d'accueil
Code:
<div id="para1"></div>
<SCRIPT type="text/javascript">
    document.getElementById("para1").innerHTML = formatAMPM();

function formatAMPM() {
var d = new Date(),
    minutes = d.getMinutes().toString().length == 1 ? '0'+d.getMinutes() : d.getMinutes(),
    hours = d.getHours().toString().length == 1 ? '0'+d.getHours() : d.getHours(),
 
   months = ['Vur', 'Dan', 'Brives', 'Autron', 'Brinhal', 'Fan', 'Afail', 'Menail', 'Chamtasque', 'Branfale', 'Bagne', 'Gec'],
    days = ['Demonda','Liunda','Miunda','Miwenda','Jewuina', 'Vendelia', 'Samelia'];
return days[d.getDay()]+' '+d.getDate()+' '+'de '+months[d.getMonth()]+' '+d.getFullYear()+'ème '+' '+'année '+' '+'de '+' '+' l\'ère '+' '+'du'+' '+'second '+' '+'souffle '+hours+':'+minutes;
}
    
</SCRIPT>


et faire des modifs via le css par exemple
Code:
#para1
{

font-size:15pt;
font-family:arial;
font-weight:bold;

color:#DDDBDB;
    
    
background-color:black;
    
}

Cdt.

Adam_sfp
+ Hyperactif +

Masculin
Messages : 4157
Inscrit(e) le : 18/04/2008

http://antonyadam.1fr1.net/portal.htm
Adam_sfp a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Calendrier inventé [Javascript]

Message par thaom melcrudak le Lun 3 Fév 2014 - 18:06

Super !!! Mais l'année devrait être 16 et non 2014 ^^ Sinon je suis aux anges, un gros merci Smile

thaom melcrudak
***

Féminin
Messages : 123
Inscrit(e) le : 12/01/2014

http://www.ildir.purforum.com
thaom melcrudak a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Calendrier inventé [Javascript]

Message par Adam_sfp le Lun 3 Fév 2014 - 18:35

Bonsoir

On enlève l'année à ce moment
Code:
+d.getFullYear()

 et on la met en manuel
Code:
+'16'

Code:
<div id="para1"></div>
<SCRIPT type="text/javascript">
    document.getElementById("para1").innerHTML = formatAMPM();

function formatAMPM() {
var d = new Date(),
    minutes = d.getMinutes().toString().length == 1 ? '0'+d.getMinutes() : d.getMinutes(),
    hours = d.getHours().toString().length == 1 ? '0'+d.getHours() : d.getHours(),
 
   months = ['Vur', 'Dan', 'Brives', 'Autron', 'Brinhal', 'Fan', 'Afail', 'Menail', 'Chamtasque', 'Branfale', 'Bagne', 'Gec'],
    days = ['Demonda','Liunda','Miunda','Miwenda','Jewuina', 'Vendelia', 'Samelia'];
return days[d.getDay()]+' '+d.getDate()+' '+'de '+months[d.getMonth()]+' '+'16'+'ème '+' '+'année '+' '+'de '+' '+' l\'ère '+' '+'du'+' '+'second '+' '+'souffle '+hours+':'+minutes;
}
    
</SCRIPT>

Cdt.

Adam_sfp
+ Hyperactif +

Masculin
Messages : 4157
Inscrit(e) le : 18/04/2008

http://antonyadam.1fr1.net/portal.htm
Adam_sfp a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Calendrier inventé [Javascript]

Message par thaom melcrudak le Lun 3 Fév 2014 - 18:43

Merci infiniment ! Ce sujet est résolu !

thaom melcrudak
***

Féminin
Messages : 123
Inscrit(e) le : 12/01/2014

http://www.ildir.purforum.com
thaom melcrudak a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum