begin process at 2012 05 30 00:07:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Signification d'un code javascript.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Signification d'un code javascript.

lundi 20 juillet 2009 à 10:01:39 | Signification d'un code javascript.

farid69100

Bonjour à tous,

Ceci est mon premier message sur ce forum.
Je me suis mis à javascript et je souhaiterais faire une conversion d'un calendirer grégiorien en calendrier lunaire.
J'ai récupéré pas mal de choses sur le net, en revanche je ne saisi pas tout.
Est-ce que quelqu'un pourrait me commenter, le code source suivant de manière détaillée?
En fait ce code permets de calculer le jour julien à partir de n'importe quel calendrier :

/* ----------------------------------------------------------------------------------- */
function leap_persian(year)
{
return ((((((year - ((year > 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) < 682;
}

/* ----------------------------------------------------------------------------------- */
// PERSIAN_TO_JD
var PERSIAN_EPOCH = 1948320.5;
var PERSIAN_WEEKDAYS = new Array("Yekshanbeh", "Doshanbeh",
"Seshhanbeh", "Chaharshanbeh",
"Panjshanbeh", "Jomeh", "Shanbeh");

function persian_to_jd(year, month, day)
{
var epbase, epyear;

epbase = year - ((year >= 0) ? 474 : 473);
epyear = 474 + mod(epbase, 2820);

return day +
((month <= 7) ?
((month - 1) * 31) :
(((month - 1) * 30) + 6)
) +
Math.floor(((epyear * 682) - 110) / 2816) +
(epyear - 1) * 365 +
Math.floor(epbase / 2820) * 1029983 +
(PERSIAN_EPOCH - 1);
}

/* ----------------------------------------------------------------------------------- */
// JD_TO_PERSIAN -- function jd_to_persian(jd)
{
var year, month, day, depoch, cycle, cyear, ycycle,
aux1, aux2, yday;


jd = Math.floor(jd) + 0.5;

depoch = jd - persian_to_jd(475, 1, 1);
cycle = Math.floor(depoch / 1029983);
cyear = mod(depoch, 1029983);
if (cyear == 1029982) {
ycycle = 2820;
} else {
aux1 = Math.floor(cyear / 366);
aux2 = mod(cyear, 366);
ycycle = Math.floor(((2134 * aux1) + (2816 * aux2) + 2815) / 1028522) +
aux1 + 1;
}
year = ycycle + (2820 * cycle) + 474;
if (year <= 0) {
year--;
}
yday = (jd - persian_to_jd(year, 1, 1)) + 1;
month = (yday <= 186) ? Math.ceil(yday / 31) : Math.ceil((yday - 6) / 30);
day = (jd - persian_to_jd(year, month, 1)) + 1;
return new Array(year, month, day);
}


La ou j'ai du mal c'est sur toute la syntaxe propre à javascript(?, :, ect...).
le code fonctionne je l'ai testé mais j'ai vraiement envie de comprendre comment ça marche.

Merci à tous pour votre aide.


lundi 20 juillet 2009 à 10:33:40 | Re : Signification d'un code javascript.

Bul3

Membre Club




Bonjour,

>>c'est sur toute la syntaxe propre à javascript
faut t'acheter une doc.
on ne peut pas tout te commenter le scritp mis,
primo ça ne te servirait pas à grand chose
pour l'instant

la doc que j'utilise selfHTML,
version chm ( celle html existe ), en français,
gratis, téléchargeable.
et il y en a d'autres....

Cordialement [mon Site] [M'écrire] Bul

lundi 20 juillet 2009 à 10:36:30 | Re : Signification d'un code javascript.

farid69100

Merci pour la doc, mais pour gagner du temps à que signifie cette ligne de commande :

return ((((((year - ((year > 0) ? 474 : 473)) % 2820) + 474) + 38) * 682) % 2816) < 682;

Merci

lundi 20 juillet 2009 à 11:05:14 | Re : Signification d'un code javascript.

Bul3

Membre Club
Réponse acceptée !


c'est une série de tests pour retourner une valeur

pourquoi faire simple quand on peut
faire compliqué, n'est-il pas !
ce genre de ligne devient ésotérique, illisible,
ça doit faire "initié" je suppute...

le début :

year - ((year > 0) ? 474 : 473)

si year >0
year-474
sinon year - 473

pour le reste, tu décortiqueras !


lundi 20 juillet 2009 à 11:07:00 | Re : Signification d'un code javascript.

farid69100

Merci pour la réponse, c'est ce bout de code que j'arrivais pas à décortiquer.



Cette discussion est classée dans : math, month, year, jd, persian


Répondre à ce message

Sujets en rapport avec ce message

Pb avec une fonction [ par isu_san ] Bonjour à tous, j'ai essayé de trouver une fonction javascript pour calculer la date du dernier dimanche d'un mois donné. j'ai bien trouvé quelque cho Calendrier javascript et variables PHP [ par manuof89 ] bonjour à toutes et à tous ! J'ai un petit soucis avec une des mes pages :) j'ai telechargé un calendrier sur internet qui remplit un de mes champ problème affichage texte temporisé pour diaporama [ par pascaloug ] Est-ce que quelqu'un peut m'aider à trouver l'erreur dans le javascript ci-dessous pour afficher un titre temporisé dans mon diaporama SVP ?La solutio Script Automne [ par potaba ] Bonjour !!!!      J'ai trouvé une superbe script en rapport avec l'automne pour mon forum mais il n'est que compatible avec Internet explorer Est-ce q Compatibilité script ie-mozilla [ par jo83 ] Bonjour à tous, voici mon premier post sur ce forum où mes recherches de programmation en java m'ont conduites. Mes connaissances réduites m'ont permi récupération de données [ par Spounky ] Bonjour,étant newbie en javascript je me permet de poser cette question. je voudrais récupérer un TIMESTAMP dans une base de donnée et le transformer Problème affichage images sous ie [ par freemykl73 ] Bonjour à tous,Je cherche à mettre en place un script qui fait un décompte sur un site InternetJ'ai un petit problème avec ce script sous IE7: les ima caroussel décalé [ par webide ] Bonjour,J'ais un petit souci avec un script caroussel en javascript.L'image centrale est décalée vers la droite par rapport au caroussel et ce quoique problème caroussel [ par webide ] Bonjour,J'ais récupéré un script de caroussel. J'ais pu modifié l'affichage par contre lorqu'on cliques sur une miniature, elle apparait aggrandie au effet de rotation d'iamge avec script, et lien sur image [ par RomantikA ] Bonjour,je ne sais pas trop si c'est le bon endroit pour expoqer mon problème, mais il s'agit d'un code javascript, donc j'ai tenté le tout pour le to


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales