Aller au contenu

Sujets conseillés

Posté

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

Posté

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 modif
var suites = new Array("st","nd","rd");

var now = new Date();
var day = now.getDay();
var ladate = now.getDate();
var suite = "";
// ici modif
if ( 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...

Posté (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é par djp1988
Posté
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... :cool:

Posté (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 modif
var suites = new Array("st","nd","rd");

var now = new Date();
var day = now.getDay();
var ladate = now.getDate();
var suite = "";
// ici modif
if ( 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é par djp1988
Posté

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

Posté

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"

Posté

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";

Posté
Tu peux mettre ladate = 21; dans le code avant les conditions.

tu peux rajouter: pour tester et tu l'enlèves après... :smartass:

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...