par
Tatiana » 07 oct. 2007, 23:44
Bonjour,
Voici mon problème. J'ai des usagers dans plusieurs fuseaux horaires. Je veux afficher la date et l'heure maximales à laquelle ils peuvent poser une action X.
Or, les dates du passage à l'heure avancée, puis à l'heure normale varient d'un pays à l'autre et c'est quasi impossible de rentrer les données pour tous les pays.
J'ai donc trois dates: une pour l'heure du serveur, une pour l'heure maximale et une pour l'heure du client. Le problème, c'est que les deux premières peuvent être en GMT-5, et la troisième en GMT-1 (par exemple).
Je pensais initialiser les deux premières comme suit (dans la réalité, les entiers seront passés via une variable en PHP).
Code : Tout sélectionner
echo '<script type="text/javascript">';
echo 'var date_max = new Date();';
echo 'date_max.setFullYear(2007,11,1);';
echo 'date_max.setHours(8);';
echo 'date_max.setMinutes(0);';
echo 'date_max.setSeconds(0);';
echo 'var date_serveur = new Date();';
echo 'date_serveur.setFullYear(2007,11,1);';
echo 'date_serveur.setHours(10);';
echo 'date_serveur.setMinutes(0);';
echo 'date_serveur.setSeconds(0);';
echo '</script>';
Le problème, c'est que les entiers passés via le PHP seront en GMT-5 (heure du serveur) mais que quand je fais "new Date()", ça me donne une date en GMT-1 si c'est là que le client se trouve... Mais je ne vois pas comment initialiser mes dates pour obtenir un temps uniforme au temps universel. Si je pouvais le faire, je pourrais utiliser les fonctions comme "setUTCFullYear".
Je suis vraiment mêlée. Est-ce que quelqu'un peut m'indiquer la bonne direction?
Édité: je pense que j'ai trouvé comment faire!!! Je viendrai écrire le code ici quand j'aurai testé!
Bonjour,
Voici mon problème. J'ai des usagers dans plusieurs fuseaux horaires. Je veux afficher la date et l'heure maximales à laquelle ils peuvent poser une action X.
Or, les dates du passage à l'heure avancée, puis à l'heure normale varient d'un pays à l'autre et c'est quasi impossible de rentrer les données pour tous les pays.
J'ai donc trois dates: une pour l'heure du serveur, une pour l'heure maximale et une pour l'heure du client. Le problème, c'est que les deux premières peuvent être en GMT-5, et la troisième en GMT-1 (par exemple).
Je pensais initialiser les deux premières comme suit (dans la réalité, les entiers seront passés via une variable en PHP).
[code]echo '<script type="text/javascript">';
echo 'var date_max = new Date();';
echo 'date_max.setFullYear(2007,11,1);';
echo 'date_max.setHours(8);';
echo 'date_max.setMinutes(0);';
echo 'date_max.setSeconds(0);';
echo 'var date_serveur = new Date();';
echo 'date_serveur.setFullYear(2007,11,1);';
echo 'date_serveur.setHours(10);';
echo 'date_serveur.setMinutes(0);';
echo 'date_serveur.setSeconds(0);';
echo '</script>';[/code]
Le problème, c'est que les entiers passés via le PHP seront en GMT-5 (heure du serveur) mais que quand je fais "new Date()", ça me donne une date en GMT-1 si c'est là que le client se trouve... Mais je ne vois pas comment initialiser mes dates pour obtenir un temps uniforme au temps universel. Si je pouvais le faire, je pourrais utiliser les fonctions comme "setUTCFullYear".
Je suis vraiment mêlée. Est-ce que quelqu'un peut m'indiquer la bonne direction? :?
Édité: je pense que j'ai trouvé comment faire!!! Je viendrai écrire le code ici quand j'aurai testé!