Date indépendante du serveur ou browser

Résolu/Fermé
nhefti Messages postés 43 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 13 octobre 2014 - 23 sept. 2008 à 13:40
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 23 sept. 2008 à 14:50
Bonjour,

Petite question à propos de la gestion des dates et heures. J'ai site où la date et l'heure joue un rôle important. J'ai programmé un petit compte à rebours en Javascript.

Je me pose une question. Le javascript est un langage du navigateur, donc en théorie mon compte à rebours va dépendre du lieu de connexion dans le monde... ??? Si je fais une requète en php pour avoir l'heure du serveur et que mon site est hébergé sur un fuseau horaire autre que le France alors mon heure de référence (celle du serveur) n'est pas la bonne ...

Bref j'aimerais créer une gestion du temps sur mon site qui se cale sur un fuseau horaire et non sur un serveur ou navigateur ...

Si il y a des avis pour ma question un peu tordue, je suis preneur !

Au passage mon code compte à rebours :

function disp_delai(){
delai (2008,9,23,21,0);
setTimeout("disp_delai()",1000);
}
function delai(annee,mois,jour,heure,min){
var date_fin=new Date(annee,mois,jour,heure,min)
var date_jour=new Date();
var tps=(date_fin.getTime()-date_jour.getTime())/1000;

tps=tps % (3600*24);
var h=Math.floor(tps / 3600); // recupère le nb d'heure
tps=tps % 3600;
var m=Math.floor(tps/60); // récupère le nb minute
tps=tps % 60;
var s=Math.floor(tps);
var txt=h+" h "+m+" min et "+s+" sec";
document.getElementById('rebours').innerHTML=txt;
}
A voir également:

1 réponse

Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
23 sept. 2008 à 14:50
Bonjour,
les dates font l'objet d'un format universel spécifié par l'IETF en... 1982 !
voir : par ici
Ce format est facilement exploitable en Javascript, et comprend le fuseau horaire.
En fait, peu importe où se trouve le serveur, si tu lui demandes un temps, il te le donnera par défaut en GMT. (GMT = Greenwich Mean Time)
En France, nous sommes sous GMT+1 en hiver et GMT+2 en été.
Il faudra écrire une petite fonction côté serveur (ça tient en 3-4 lignes) pour adapter le temps du serveur.

Par contre, si tu demandes au navigateur, tu récupères l'heure du client -> pas bon...
0