Se connecter / S'enregistrer
Votre question

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

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
7 Mai 2006 04:09:57

Bonjour,

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

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


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

Quelqu'un peut-il m'aider ?

Merci beaucoup !

Autres pages sur : resolu php bien mieux javascript get year firefox

7 Mai 2006 05:06:43

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 :

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

+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.
7 Mai 2006 18:01:09

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

@+
7 Mai 2006 18:15:19

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

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


@+ et merci beaucoup !
8 Mai 2006 02:11:26

Pas de quoi.

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

Oublis pas de mettre [résolu] devant le titre de ton topic.
21 Mai 2006 18:41:53

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
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS