Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Date et heure en Chine dans un script


Bazoo

Messages recommandés

Merci :-P

 

J' ai bien tout lu, mais ça ne résoud pas mon problème, ça le complique même :-( .

Ma méthode pour Greenwich marche très bien, et on n' a pas à modifier le .js en cours d' année pour être à la bonne heure, comme avec le script que tu me proposes d' essayer.

Son script n' affichent pas les jours de la semaine et les mois de la semaine en français ( vu qu' il est Australien ), alors que c' est ce qui me bloque en ce moment.

 

Si tu t' y connais en java, stp jette un oeil là-dessus, je fais un grand récapitalatif de dernière chance ( après je considère que personne ne peut/veut me conseiller ) :

 

1) Voici le scipt qui marche le mieux pour afficher l' heure qu' il est en Chine :

 

<script language="JavaScript">

 

var la_date = new Date();

 

var jour = new Array();

jour[0] = "dimanche";

jour[1] = "lundi";

jour[2] = "mardi";

jour[3] = "mercredi";

jour[4] = "jeudi";

jour[5] = "vendredi";

jour[6] = "samedi";

 

var mois = new Array();

mois[0] = "janvier";

mois[1] = "février";

mois[2] = "mars";

mois[3] = "avril";

mois[4] = "mai";

mois[5] = "juin";

mois[6] = "juillet";

mois[7] = "août";

mois[8] = "septembre";

mois[9] = "octobre";

mois[10] = "novembre";

mois[11] = "décembre";

 

document.write("Bonjour, en Chine nous sommes le ");

document.write(jour[la_date.getUTCDay()] + " ");

document.write(la_date.getUTCDate() + " ");

document.write(mois[la_date.getUTCMonth()] + " " );

document.write(la_date.getUTCFullYear());

document.write(". Il est ");

document.write(la_date.getUTCHours()+8;

document.write(" heures et ");

document.write(la_date.getUTCMinutes() + " ");

document.write(" minutes. ");

 

</script>

 

Résultat : Bonjour, en Chine nous sommes le lundi 15 décembre 2003. Il est 10 heures et 21 minutes.

 

Le problème : le compteur des heures ( getUTCHours+8 ) ne s' arrête pas à 24 heures. Je dois lui dire de s' arrêter à 24 heures et de recommencer alors à 1 heure, et de rajouter 1 aux jours.

 

Cela fera en gros ceci :

 

if(heure>24)

{heure = heure-24;

jour = jour+1;

}

 

 

2) Aïe :-P , je n' ai pas déclaré mes variables "heure" et "jour" ( ainsi que les autres ! ) avant les "document.write" . Si elles ne sont pas déclarées, comment placer des "if" dessus ? Je dois donc recommencer mon script pour les déclarer dès le début, afin que l' ordi comprenne ce qu' est "heure" , ce qu' est "jour" , etc.

 

Voilà ce que ça fait :

 

<script language="JavaScript">

 

var la_date = new Date();

 

var jour = la_date.getUTCDay(); //déclaration du jour. Ca plante ici avec les jours "lundi" , "mardi" etc ...

switch (jour) {

case '0' :

document.write ("dimanche")

break;

case '1' :

document.write ("lundi")

break;

case '2' :

document.write ("mardi")

break;

case '3' :

document.write ("mercredi")

break;

case '4' :

document.write ("jeudi")

break;

case '5' :

document.write ("vendredi")

break;

case '6' :

document.write ("samedi")

break;

}

 

 

var date = la_date.getUTCDate() //déclaration de la date

 

var mois = la_date.getUTCMonth() //déclaration du mois. Mais je n' ai pas encore fait mes "if" vu que ça ne marche pas avec les jours de la semaine. Donc pour les mois, c' est encore en chantier...

var mois = new Array();

mois[0] = "janvier";

mois[1] = "février";

mois[2] = "mars";

mois[3] = "avril";

mois[4] = "mai";

mois[5] = "juin";

mois[6] = "juillet";

mois[7] = "août";

mois[8] = "septembre";

mois[9] = "octobre";

mois[10] = "novembre";

mois[11] = "décembre";

 

var an = la_date.getUTCFullYear() //déclaration de l' année

 

var heure = la_date.getUTCHours()+8 //déclaration de l' heure ( UTC+8 heures )

 

var minute = la_date.getUTCMinutes() //déclaration des minutes. Comme j' ai tout déclarer, je peux simplifier avec un seul "document.write".

 

 

document.write("Bonjour, en Chine nous sommes le " + jour + " " + mois + " " + an + ". Il est " + heure + " heures et " + minute + " minutes");

 

</script>

 

 

Voici le résultat : Bonjour, en Chine nous sommes le 2 janvier,février,mars,avril,mai,juin,juillet,août,septembre,octobre,novembre,décembre 2003. Il est 12 heures et 27 minutes.

 

C' est normal pour les mois, c' est pas terminé de ce côté-là. Mais pour les jours de la semaine, rien ne s' affiche ( "Nous sommes le ??? janvier blablabla ) !

 

Donc je me suis trompé ici :

 

var jour = la_date.getUTCDay()

switch (jour) {

case '0' :

document.write ("dimanche")

break;

case '1' :

document.write ("lundi")

break;

case '2' :

document.write ("mardi")

break;

case '3' :

document.write ("mercredi")

break;

case '4' :

document.write ("jeudi")

break;

case '5' :

document.write ("vendredi")

break;

case '6' :

document.write ("samedi")

break;

}

 

Mais comme je suis débutant, je nage complet, car pour moi ça me semble juste.

 

3) Il faut donc que je résolve ce problème de jours de la semaine. Et ensuite que je règle celui ( qui sera facile je pense ) du compteur qui dépasse 24 heures, en reportant le décalage à toutes les variables.

 

Voilà ! Un conseil personnalisé et attentif, je suis sûr que cela m' aidera plus qu' un renvoi vers un site qui est trop hardue pour moi :P ...

Modifié par Bazoo
Lien vers le commentaire
Partager sur d’autres sites

Rah ... je pensais que tu voulais faire une horloge qui passe (du moins le temps s'écoule).

En fait, c'est très simple en php :P

 

<? 
$chine = time() + 25200;
setlocale(LC_TIME,'fr_FR.ISO_8859-1');
$jour = date ("d/m/Y", $chine);
$heure = date ("H:i:s", $chine);
date(fr);
echo "En chine, nous sommes le ";
echo $jour;	
echo " et il est ";
echo $heure;
echo " exactement.";
?>

 

Ce qui donne

En chine, nous sommes le 16/12/2003 et il est 13:24:16 exactement.

 

Pour connaitre les formats des dates :

http://fr.php.net/manual/fr/function.date.php

 

Par contre, y'a un prob avec la mise en francais de la date ... j'ai essayé avec le setlocal (LC_TIME, 'fr_FR'); et ca bug chez moi ...

 

777

 

PS : le 25200 correspond à 7 heures de décalage (serveur francais) ce qui donne 7 x 60 x 60 (car time() est en seconde ).

Lien vers le commentaire
Partager sur d’autres sites

Bon, tu peux rajouter, si tu veux vraiment mettre en francais les jours et les mois, un switch en récupérant les mois et jour en numérique (comme tu as fait en javascript).

 

switch ($jour)
{
 case 1 :
   $jour ="Lundi";
   break;
 case 2 :
   $jour ="Mardi";
   break;
.........
}
et pareil pour le mois.

Et t'auras toujours l'heure en chine quelque soit l'endroit d'où le mec surfe :P

 

777

Lien vers le commentaire
Partager sur d’autres sites

Je vais tout de suite essayer !

 

J' espère juste que le php est aussi standard que le htm.

 

J' apprécie beaucoup ton aide, merci :-(

 

PS Oui, j' aimerai qu' il y ait un rafraîchissement de l' heure, et que tout ça s' affiche dans la barre d' état... prochaînes étapes de ma galère :P

Lien vers le commentaire
Partager sur d’autres sites

Euh, je sais pas utiliser ce que tu m' as donné :P

 

Ton php, est-ce que je peux le mettre dans une page htm ? Ou ça doit être une page .php ?

 

J' ai essayé les deux, ça ne marche pas pour l' instant.

 

Voici le mess quand j' ai essayé de regarder la page date.php que j' ai faite :

 

[citation :]

 

La page XML ne peut pas être affichée

Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.

 

--------------------------------------------------------------------------------

 

Aucun espace blanc n'est autorisé à cet emplacement. Erreur de traitement de la ressource http://pageperso.aol.fr/astrapole/date.php. Ligne 10, Position 3

 

<?

 

[fin de citation]

 

J' ai simplement inséré ceci à une page .php créée pour l' occasion, entre les deux body :

 

<?

$chine = time() + 25200;

setlocale(LC_TIME,'fr_FR.ISO_8859-1');

$jour = date ("d/m/Y", $chine);

$heure = date ("H:i:s", $chine);

date(fr);

echo "En chine, nous sommes le ";

echo $jour;

echo " et il est ";

echo $heure;

echo " exactement.";

?>

 

Est-ce que c' est AOL qui n' accepte pas le php, peut-être ?

Lien vers le commentaire
Partager sur d’autres sites

Il faut le mettre absolument dans une page qui s'appelle page.php (avec .php). Sinon, il va pas s'éxécuter.

Pour AOL, je sais pas du tout s'il prend le PHP...

 

777

Lien vers le commentaire
Partager sur d’autres sites

Son script n' affichent pas les jours de la semaine et les mois de la semaine en français ( vu qu' il est Australien ), alors que c' est ce qui me bloque en ce moment.

Tu as mal regardé son script... Il suffit de changer "Monday" en "Lundi", "Tuesday" en "Mardi", ...

Lien vers le commentaire
Partager sur d’autres sites

Salut,

je pense que Myki a touché du doigt le probleme, est-ce que AOL accepte le php dans les pages perso ?

 

 

Sinon, si tu mets ton code dans une page comme le dit Myki, il faut que tu mette ceci pour l'inclure dans ton fichier à l'endroit ou tu veux qu'il soit placé sur ta page :

 

<?

include("page.php"); // on appelle le fichier

?>

 

et que la page ou tu inclues du php se nomme avec une extension .php et non pas .xml

Modifié par tesgaz
Lien vers le commentaire
Partager sur d’autres sites

Le mieux est de faire un fichier test.php avec dedans :

<?
 phpinfo();
?>

 

Si ca marche, il te donne toutes les infos sur php, sinon c'est que php n'est pas installer.

 

777

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...