heure et fuseaux

heure et fuseaux - PHP - Programmation

Marsh Posté le 28-06-2004 à 18:04:36    

Hello!
 
je voudrais mettre sur mon site l'heure de Paris et de la Guadeloupe (+6), maais si je le meten javascript et que je consulte depuis un autre pays forcement ca ne marche pa, car le JS prend l'heure coté client !
y'a til des serveurs d'horaire ? ou quelqu'un a une idée ?
Merci

Reply

Marsh Posté le 28-06-2004 à 18:04:36   

Reply

Marsh Posté le 28-06-2004 à 18:09:30    

oui, il y a des serveurs horaires.
 
Le plus simple est d'utiliser le timestamp de ton serveur. En fonction de sa position géographique, tu ajouter un offset pour obtenir l'heure que tu souhaites.
 
Exple serveur en France
 
$heure = time(); => heure de Paris
$heure + (3600 * 6); => heure de la Guadeloupe


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 10:18:34    

ok merci; mais la fonction time ne donne que l'heure en seconde ?
du coup j'utilise ca  
$heure = date("H:i" );
dsl, chiu pa doué en php
 
 
pour info, une adresse pour les serveurs horaire ?

Reply

Marsh Posté le 29-06-2004 à 10:23:13    

en gros ca doit donner un truc du genre :
 
<?
 
$heure = date("H:i" );
$heure2 + ("3600/6" ) = date("H:i" );
Print("il est $heure2" );
?>
mais bon ca fonctionne pa encore

Reply

Marsh Posté le 29-06-2004 à 10:30:34    

lit la doc sur la fonction time()


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 29-06-2004 à 11:09:15    

benou_z a écrit :

en gros ca doit donner un truc du genre :
 
<?
 
$heure = date("H:i" );
$heure2 + ("3600/6" ) = date("H:i" );
Print("il est $heure2" );
?>
mais bon ca fonctionne pa encore


 
$heure2, son calcul est bancal : tu ajoutes 600 à une variable non affectée et ensuite tu lui affecte l'heure locale. Donc $heure2 est égal à $heure
 
date() te permet de récupérer ll'heure calculée à partir d'un timestamp. Je précise car cela ne te semble pas clair on dirait


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 30-06-2004 à 14:09:40    

heu chui un peu perdu...
$heure2 = date(("H:i" )+("3600/6" ));  
dans l'absolu c un facteur de ce genre nan ?

Reply

Marsh Posté le 30-06-2004 à 17:39:37    

Dans l'absolu :
 
Tu crées ton timestamp, tu lui ajoutes le décalage puis seulement tu généres la chaine (avec date()) en te basant sur le timestamp :)

Reply

Marsh Posté le 05-07-2004 à 12:23:59    

ok
chui un peu perdu...
jai pa tro capté ce qu'etait le timestamp...
tant pis...
merci qd meme

Reply

Marsh Posté le 05-07-2004 à 12:34:27    

le timestamp est le nombre de secondes écoulées depuis le 01/01/1970 à 00:00:00
 
Donc au moment où tu appelle la fonction time(), le serveur te renvoie le nombre de secondes entre maintenant et le 01/01/1970
 
Si tu as besoin de l'heure actuelle et l'heure dans un autre fuseau horaire, il te faut appeler la fonction time() et celle lui retrancher le nombre de secondes qui représente le changement de fuseau horaire.
 
Ton serveur est à paris, time() te donne (implicitement) la date et l'heure. Tu veux l'heure en Guadeloupe (-6h) donc tu retranche 6x3600.
 
La fonction date() te convertit ensuite ce nombre de secondes en date


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 05-07-2004 à 12:34:27   

Reply

Marsh Posté le 05-07-2004 à 14:28:55    

ok merci,
c plus clair !

Reply

Marsh Posté le 05-07-2004 à 23:44:28    

benou_z a écrit :

ok
chui un peu perdu...
jai pa tro capté ce qu'etait le timestamp...
tant pis...
merci qd meme


 
Je devrais rajouter "ne lisez surtout JAMAIS le manuel" à ma signature  :sarcastic:  
 
(c'est vrai quoi, le timestamp, c'est expliqué en toutes lettres dans la documentation de l'instruction time() que T509 te conseillait de lire :pfff: )

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed