begin process at 2012 05 27 16:36:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

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

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


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

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

Auteur : Autiwa

Ecrire un message privé
Commentaire sur cette source (3)
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.


 Sources de la même categorie

Source avec une capture AGENDA GRAPHIQUE SIMPLE (DÉBUTANT) À INTÉGRER par NicomakM
CALCUL DU NOMBRE DE JOURS CONTENUS DANS L'INTERSECTION DE DE... par curphey
CALENDRIER EN 70 LIGNES par tchconst
Source avec Zip CALENDRIER par gabay
CALENDRIER SIMPLE par manuche

 Sources en rapport avec celle ci

FORMATER DES MILLISECONDES AU FORMAT HH:MM:SS:MMM par lcef
Source avec Zip CLASSE DATETIME ÉTENDUE PHP 5.2 par nautilus99
Source avec Zip GÉNÉRATEUR DE DATE DANS TOUTES LES LANGUES DU MONDE EN (PHP)... par abdelaziz_info
Source avec Zip CHANGEMENT DE TEMPLATE par starkeny
Source avec Zip Source avec une capture HORLOGE ANALOGIQUE [ET NUMERIQUE] EN IMAGE par LeniM

Commentaires et avis

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.

Commentaire de taoufik13 le 12/02/2007 15:17:01

bon

Commentaire de SoldierZ le 09/04/2009 21:07:54

moé ma box est po a bonne heure fecke sa va ben avec sa thanks x)

 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

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales