Tom's Guide > Forum > Programmation > [RÉSOLU avec PHP qui est bien mieux :p][Javascript]get.year() sous firefox

[RÉSOLU avec PHP qui est bien mieux :p][Javascript]get.year() sous firefox

Forum Programmation : [RÉSOLU avec PHP qui est bien mieux :p][Javascript]get.year() sous firefox

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour,

Je voudrais utiliser la fonction getYear sous FireFox, mais elle ne s'affiche pas correctement.

Mon code:

Code :
  1. <html>
  2. <body>
  3. <script type="text/javascript">
  4. var d = new Date()
  5. document.write("2005-"+d.getYear())
  6. </script>
  7. </body>
  8. </html>



Parfait sous IE, mais sous FireFox, rien ne fonctionne (mauvais affichage).

Quelqu'un peut-il m'aider ?

Merci beaucoup !

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Regardes ca, ca fait réflechir quand à l'orientation de ses développements web.

A moins que tu ne souhaites piller les fichiers de tes visiteurs puisque javascript n'a l'air d'être bon qu'a cela.

Comparatif JAVASCRIPT / PHP

Sinon, en PHP t'as ca :

Code :
  1. <?php
  2. // poolos{at}free{dot}fr (recuperation de date système).
  3. // Simple fonction recup_date qui renvoi l élément demandé.
  4. // exemples:
  5. //       recup_date("heure" ); affiche par exemple 14:45:25
  6. //    recup_date("date_complete" ); affiche par exemple
  7. // création de la fonction de récupération
  8. function recup_date($arecup)
  9. {
  10.     // mets la date en francais.
  11.     setlocale (LC_TIME,'fr');
  12.     // date complète (jour en lettres,jour en chiffres,mois en lettres,année en chiffres)
  13.     // exemple : vendredi 17 février 2006
  14.     $date_complete=strftime("%A %d %B %Y" );
  15.     // détail
  16.     $jour_chiffres=date("d" );
  17.     $jour_lettres=strftime("%A" );
  18.     $mois_chiffres=date("m" );
  19.     $mois_lettres=strftime("%B" );
  20.     $annee=date("Y" );
  21.     $date=date("d/m/Y" );
  22.     $heure=date("H:i:s" );
  23.     // choisi la valeure renvoyée par la fonction demandée par $arecup
  24.     switch($arecup)
  25.     {
  26.         case "jour_chiffres":return $jour_chiffres;
  27.         case "jour_lettres":return $jour_lettres;
  28.         case "mois_chiffres":return $mois_chiffres;
  29.         case "mois_lettres":return $mois_lettres;
  30.         case "annee":return $annee;
  31.         case "date":return $date;
  32.         case "heure":return $heure;
  33.         case "date_complete":return $date_complete;
  34.     }
  35. } // fin de la fonction de récupération
  36. // enlevez les '/*' '*/' pour afficher les résultats sur cette page.
  37. /*
  38. // Affichage des différentes possibilités ( appel de la fonction recup_date(chaîne); )
  39. echo "heure séparée par des deux-points :";
  40. echo(recup_date("heure" )."<br>" );
  41. echo "date jj/mm/aaaa séparée par des / :";
  42. echo(recup_date("date" )."<br>" );
  43. echo "jour en chiffres : ";
  44. echo(recup_date("jour_chiffres" )."<br>" );
  45. echo "jour en lettres : ";
  46. echo(recup_date("jour_lettres" )."<br>" );
  47. echo "mois en chiffres : ";
  48. echo(recup_date("mois_chiffres" )."<br>" );
  49. echo "mois en lettres : ";
  50. echo(recup_date("mois_lettres" )."<br>" );
  51. echo "annee : ";
  52. echo(recup_date("annee" )."<br>" );
  53. echo "date complète :";
  54. echo(recup_date("date_complete" )."<br>" );
  55. */
  56. ?>


Message édité par poolos le 31-03-2009 à 22:51:31
Répondre à poolos

+1 poolos.


Et as tu pensé à ceux qui aurait désactivé le javascript ?

Ton site doit fonctionner parfaitement sans javascript. Le javascript selon moi doit servir juste de détail , de truc pour faire jolie ( tient un peu comme le CSS ) et ne doit pas être indispensable au bon fonctionnement de ton site.

Répondre à Kymic@IDN

Ah eh bien merci, je ne savais pas que ça se faisait en PHP et j'avoue que j'aime bien mieux le PHP.

@+

Répondre à virtuailes

Seulement pour l'année, c'est donc ça:

Code :
  1. <?php
  2. function recup_date($arecup)
  3. {
  4.     setlocale (LC_TIME,'fr');
  5.     $annee=date("Y" );
  6.     switch($arecup)
  7.     {
  8.         case "annee":return $annee;
  9.     }
  10. }
  11. echo "2005 - ";
  12. echo(recup_date("annee" )."<br>" );
  13. ?>



@+ et merci beaucoup !

Répondre à virtuailes

Pas de quoi.

+1 pour PHP.
+1 pour le web libre ;-)

Oublis pas de mettre [résolu] devant le titre de ton topic.

Répondre à poolos

Bonjour,

il faut utiliser getFullYear() au lieu de getYear();
Avant l'an 2000, getYear() retournait 98 pour 1998. Firefox a donc continuer ainsi: 1999 = 99 et donc 2000 = 100, 2001 = 101 etc...
Javascript est tres utile et ca depend de ce que tu essais de faire.
getFullYear() te retournera 2006 dans Firefox et IE ...
La compatibilite getFullYear() est ici (aucun probleme cote browser en 2006):
http://www.quirksmode.org/js/datecompat.html

ou tu peux utiliser getYear() et simplement rajouter 1900 s'il le faut:
var d = new Date();
var year = d.getFullYear();
if (year < 300) year+=1900; // compatible jusqu'a l'an 4000, ca devrait suffir...?!
ou bien, plus reglo niveau programmation, tu rajoutes 1900 si l'annee n'a pas 4 chiffres (2006 = 1900 + 106):
if ( String(year).length < 4 ) year+=1900;


Voila!
-J

Répondre à bigjc
Tom's Guide > Forum > Programmation > [RÉSOLU avec PHP qui est bien mieux :p][Javascript]get.year() sous firefox
Aller à :

Il y a 1928 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens