djp1988 Posté 5 Septembre 2007 Posté 5 Septembre 2007 Salut, J'utilise ce code sur mes pages: <script type="text/javascript">var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); var now = new Date(); day = now.getDay(); date = now.getDate(); month = now.getMonth(); year = now.getYear(); if (year < 1900) { year += 1900 } document.write(days[day] + " the " + date + " of " + months[month] + " " + year); </script> Ce qui fait affiché la date, par contre je souhaite inculre en plus le mot "st" si Day fini en 1, "nd" si Day fini en 2, "rd" si Day fini en "3", et pour le reste ajouter "th" Comemnt je dois mettre a jour ce code? Donc je passerai de: Monday the 1 of september => Monday the 1st of september
iNCiTE Web Posté 5 Septembre 2007 Posté 5 Septembre 2007 Précision : JAVA et Javascript sont 2 langages complètement différents. <script type="text/javascript">var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");var months = new Array("January","February", "March", "April", "May", "June","July", "August", "September", "October","November", "December");// ici modifvar suites = new Array("st","nd","rd");var now = new Date();var day = now.getDay();var ladate = now.getDate();var suite = "";// ici modifif ( ladate <= 3 ) var suite = suites[ladate-1];month = now.getMonth();year = now.getYear();if (year < 1900) { year += 1900 }document.write(days[day] + " the " + ladate// ici modif+ suite+ " of " + months[month] + " " + year);</script> J'ai changé la variable date en ladate pour des histoires de mots réservés...
djp1988 Posté 5 Septembre 2007 Auteur Posté 5 Septembre 2007 (modifié) merci beaucoup, donc c'est du javascript alors? Dernier chose, je ois ajouter quoi pour que si ladate >3 alors ecrire "th" ? Je comprends pas al signification du " -1 " dans : if ( ladate <= 3 ) var suite = suites[ladate-1]; Mais je veins de me rendre compte que le code marchera pas car les dates doivent etre les suivants: 1st 2nd 3rd 4th .. 10th 11th 12th ... 20th 21st 22nd 23rd 24th ... 30th 31st C'est possible de mettre un variable pareil? Modifié 5 Septembre 2007 par djp1988
iNCiTE Web Posté 5 Septembre 2007 Posté 5 Septembre 2007 merci beaucoup, donc c'est du javascript alors? Oui... Dernier chose, je dois ajouter quoi pour que si ladate >3 alors ecrire "th" ? if ( ladate <= 3 ) var suite = suites[ladate-1]; else var suite = "th"; Je comprends pas al signification du " -1 " On stocke les libellés dans un tableau. Le premier indice d'un tableau est 0. Donc pour que le 1er du mois corresponde à l'indice 0 du tableau, on soustrait 1 ! N'oublions pas que c'est une bricole vite faite hein...
djp1988 Posté 5 Septembre 2007 Auteur Posté 5 Septembre 2007 (modifié) Resalut, J'ai ajouter plusieurs If, cela reste correcte? <script type="text/javascript">var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");var months = new Array("January","February", "March", "April", "May", "June","July", "August", "September", "October","November", "December");// ici modifvar suites = new Array("st","nd","rd");var now = new Date();var day = now.getDay();var ladate = now.getDate();var suite = "";// ici modifif ( ladate <= 3 ) var suite = suites[ladate-1]; else var suite = "th";if ( ladate = 21 ) var suite = "st";if ( ladate = 22 ) var suite = "nd";if ( ladate = 23 ) var suite = "rd";if ( ladate = 31 ) var suite = "st";month = now.getMonth();year = now.getYear();if (year < 1900) { year += 1900 }document.write(days[day] + " the " + ladate// ici modif+ suite+ " of " + months[month] + " " + year);</script> Modifié 5 Septembre 2007 par djp1988
iNCiTE Web Posté 5 Septembre 2007 Posté 5 Septembre 2007 Pour les comparaisons, il faut mettre 2 fois le signe égal : if ( ladate == 21 ) var suite = "st"; Quels sont cas les où tu veux mettre les st nd, etc ?? on doit pouvoir faire plus simple
djp1988 Posté 5 Septembre 2007 Auteur Posté 5 Septembre 2007 ok, donc pour "st" il le faut quand la date est : 1, 21, 31 "nd" c'est pour: 2, 22 "rd" c'est pour 3, 23 et le reste c'est "th"
djp1988 Posté 5 Septembre 2007 Auteur Posté 5 Septembre 2007 je devrais ajouter : ??????? if ( ladate == 21 )var suite = "st";if ( ladate == 22 )var suite = "nd";if ( ladate == 23 )var suite = "rd";if ( ladate == 31 )var suite = "st";
djp1988 Posté 5 Septembre 2007 Auteur Posté 5 Septembre 2007 je pense que c'est bon, mais il faut attendre le 21 pour voir
iNCiTE Web Posté 6 Septembre 2007 Posté 6 Septembre 2007 Heureusement non qu'on ne doit pas attendre le bon jour pour essayer... Tu peux mettre ladate = 21; dans le code avant les conditions.
slender Posté 6 Septembre 2007 Posté 6 Septembre 2007 Tu peux mettre ladate = 21; dans le code avant les conditions. tu peux rajouter: pour tester et tu l'enlèves après...
captain_torche Posté 6 Septembre 2007 Posté 6 Septembre 2007 Tu peux aussi modifier la date système pour tes tests : c'est cette info que javaScript utilise.
djp1988 Posté 8 Septembre 2007 Auteur Posté 8 Septembre 2007 effectivement, je ne savais pas que le javascript aler chercher la date sur mon système, très bien, j'ai testé et ca marche ! merci
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant