Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AFFICHAGE DE L'HEURE EN TENANT COMPTE DE L'HEURE D'ÉTÉ À PARTIR DE LA DONNÉE DU FUSEAU HORAIRE


Information sur la source

Catégorie :Date / Heure Classé sous : été, heure, changement, fuseau, horaire Niveau : Débutant Date de création : 07/02/2007 Vu : 11 693

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

Ce petit script permet d'afficher l'heure en fonction d'un fuseau horaire. Et l'heure d'été est calculée automatiquement.
Par exemple pour la france, on met $france=1; et il calcule quand l'heure d'été va changer, et rajouter une heure s'il se trouve que l'heure d'été est active.
Normalement, j'ai fait attention à ce que le changement d'heure soit exact, c'est à dire changer à 2h du matin en début de période, et rechanger à 3h du matin en fin de période, mais il se peut que ça ne fonctionne pas rigoureusement ainsi.
 

Source

  • <?php
  • $france=1;//ici on met le fuseau horaire
  • function dimanche($date)//calcule la date du dernier dimanche avant la date donnée
  • {
  • while (date("D", $date ) !='Sun')//calcule la date de début d'heure d'été
  • {
  • $date = mktime(0,0,0,date("m",$date), date("d",$date)-1, date("Y",$date)); //On retire 1 jour par rapport à la date examinée
  • }
  • return $date;
  • }
  • function ete($decalage)//determine si on est en heure d'été et rajoute une heure en consequence
  • {
  • $debut = dimanche(mktime(0,0,0,03,31,date("Y"))); // 31-03-$annee
  • $fin = dimanche(mktime(0,0,0,10,31,date("Y"))); // 31-10-$annee
  • if (time()>=mktime(2+$decalage,0,0,date("m",$debut), date("d",$debut), date("Y",$debut)))
  • {
  • if (time()<mktime(3+$decalage,0,0,date("m",$fin), date("d",$fin), date("Y",$fin)))
  • {
  • $decalage+=1;
  • }
  • }
  • return $decalage;
  • }
  • $france=ete($france);
  • echo "Il est ";
  • echo gmdate("H:i", time() + $france*3600);
  • echo " en France";
  • ?>
<?php 
$france=1;//ici on met le fuseau horaire

function dimanche($date)//calcule la date du dernier dimanche avant la date donnée
	{
	while (date("D", $date ) !='Sun')//calcule la date de début d'heure d'été
		{
		$date = mktime(0,0,0,date("m",$date), date("d",$date)-1, date("Y",$date)); //On retire 1 jour par rapport à la date examinée
		}
	return $date;
	}

function ete($decalage)//determine si on est en heure d'été et rajoute une heure en consequence
{
$debut = dimanche(mktime(0,0,0,03,31,date("Y"))); // 31-03-$annee
$fin = dimanche(mktime(0,0,0,10,31,date("Y"))); // 31-10-$annee

if (time()>=mktime(2+$decalage,0,0,date("m",$debut), date("d",$debut), date("Y",$debut)))
	{
	if (time()<mktime(3+$decalage,0,0,date("m",$fin), date("d",$fin), date("Y",$fin)))
		{
		$decalage+=1;
		}
	}
	
return $decalage;
}

$france=ete($france);


echo "Il est ";
echo gmdate("H:i", time() + $france*3600);
echo " en France";
?>

Conclusion

A l'origine, j'ai fais ceci pour afficher l'heure du québec et de la france sur la même page, et je me suis rendu compte que rigoureusement, les deux heures ne se mettaient pas à l'heure d'été en même temps, normalement, ceci est pris en compte avec ce script, mais je ne suis pas certain de son fonctionnement exact.

Ce script est basé sur le script "JOUR DU PASSAGE À L'HEURE D'ÉTÉ / HEURE D'HIVER" disponible à l'adresse suivante http://www.phpcs.com/codes/JOUR-PASSAGE-HEURE-ETE-HEURE-HIVER_31684.aspx

et je remercie donc son auteur jeremyg vu que je me suis basé sur son script pour construire le mien.
 

Commentaires et avis

signaler à un administrateur
Commentaire de malalam le 08/02/2007 08:18:27 administrateur CS

Hello,

je tioens quand même à préciser que la fonction setlocale()
http://fr3.php.net/manual/fr/function.setlocale.php
fait tout ça très bien.
Mais étant donné qu'elle n'est pas fiable dans tous les cas de figure (cela dépend du serveur, de son installation, et de l'OS sur lequel il est installé), pourquoi pas.

signaler à un administrateur
Commentaire de taoufik13 le 12/02/2007 15:17:01

bon

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Fuseau horaire [ par cyberastuces ] Bonjour a tous,voila je voulais savoir si il existe une fonction php pour calculer l'heure et la date des fuseau horaire pour affiche l'heure de tout decalage horaire [ par imin ] cette ligne signifie qu'on rajoute 1 heure$nowClock=date("H:i:s",time()+3600*(1+date("I")));et si je ne veut pas rajouter 1 heure esque le code suivan MSQL TIME Decalage Horaire [ par neocide ] Bonjour je suis heberger chez free et j'habite en Guadeloupe, des qu'un visiteur poste un message via mon script MYSQL l'heure qui s'affiche est l'heu décalage horaire et php [ par titeuf974 ] Bonjour,je souhaiterai calculer un d&#233;calage horaire pour pouvoir afficher l'heure de mes clients.C'est &#224; dire que quelque soit le client qui menu option [ par m2rtech ] Bonjour, Dans ma page, je dispose d'un déroulante option qui est remplie par une boucle while.le contenue de cette déroulante est une liste d'he screensaver pointeur horaire [ par Joez ] Voila est ce possible de créer un sreensaver qui ecrirer dasn une base de données mysql, l'heure a laquelle il se met en marche, et l'heure a laquell Ecart entre differentes heures [ par must ] Bonjour,voila ce que je voudrais faire,est ce possiblePersonne viens sur ma page,j'enregistre l'heure de passage,et la lilmite de l'haure est minuit p configuration d'un champs texte de formulaire pour conversion du texte en format heure [ par RomantikA ] Bonjour, je ne sais pas trop si c'est le bon endroit pour exposer mon probème, mais étant débutant j'ai penssé que je trouverais peut être ici l'aide Agenda avec RDV [ par cyberastuces ] Bonjour, Alors voila j'ai une petite question sur la quelle je bloque, je vous explique rapidement se que je cherche a faire. Je doit créer un agend Compteur de visite [ par Jay77270 ] Bonjour,Voila je débute dans le script php mysql et j'aimerai vivement intégré un compteur de visite ah mon site j'ai un code php mais en l'executant


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,967 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.