Afficher la bonne heure [php]

Résolu/Fermé
Helenedu39 Messages postés 121 Date d'inscription dimanche 21 octobre 2012 Statut Membre Dernière intervention 1 juillet 2014 - 1 juil. 2014 à 12:17
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 - 1 juil. 2014 à 18:53
Bonjour,

voila j'ai un leger soucis, j'ai site en php et je voudrais afficher la date et lheure
alors jai la bonne date les bonne minute mais alors l'heure jai deux heure de decalage entre mon site php et l'heure actuelle voila mon code:

$temp=date('d-m-Y H:i:s');
echo $temp;


quelqu'un aurait t'il une idée??

1 réponse

Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
1 juil. 2014 à 13:39
Oui, ton serveur n'est pas obligatoirement dans la même zone horaire que toi et/ou parametrer pour être caller sur l'heure utc.

Dans ton script quand tu dois manipuler une date, place (une seul fois bien sur) le code suivant:
date_default_timezone_set('Region/Pays');


Tu trouveras les code Region/Pays sur la doc de php https://www.php.net/manual/fr/timezones.php Pour la France, c'est Europe/Paris ce qui donne:


date_default_timezone_set('Europe/Paris');
6
Helenedu39 Messages postés 121 Date d'inscription dimanche 21 octobre 2012 Statut Membre Dernière intervention 1 juillet 2014 111
1 juil. 2014 à 14:39
super merci beaucoup :)
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
1 juil. 2014 à 14:48
N'oublie pas de mettre ton sujet en résolu.
0
Helenedu39 Messages postés 121 Date d'inscription dimanche 21 octobre 2012 Statut Membre Dernière intervention 1 juillet 2014 111
1 juil. 2014 à 16:00
ah oui desole jetai trop heureuse que cela fonctionne :)
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
1 juil. 2014 à 18:53
Tiens une classe que j'avais fait il y a un bout de temps en poo
<?php
/*
*
*/
class Date extends Config{
	
	public $dateTimezone='';
	public $formatDate='';
	public $formatHeure='';
	public $formatDays='';
	public $formatMonth='';
	public $basicDays=array('Mon','Tue','Wed','Thu','Fri','Sat','Sun');
	public $basicMonth=array('January','February','March','April','May','June','July','August','September','October','November','December');

	public function __construct($dateTimezone,$formatDate,$formatHeure,$formatDays,$formatMonth){
		$this->dateTimezone=$dateTimezone;
		$this->formatDate=$formatDate;
		$this->formatHeure=$formatHeure;
		$this->formatDays=$formatDays;
		$this->formatMonth=$formatMonth;
	}
	
	public function showAge($tmp){
		$d=explode('-',date('Y-m-d'));
		$tmp=explode('-',$tmp);
		$r=$d[0]-$tmp[0];
		if($d[1]==$tmp[1]){if($d[2]!=$tmp[2]&&$d[2]<$tmp[2]){$r=$r-1;}}
		elseif($d[1]<$tmp[1]){$r=$r-1;}
		return $r;
	}

	public function dDH(){
		date_default_timezone_set($this->dateTimezone);
		return date('Y-m-d H:i:s');
	}
	
	public function cDiffDate($d1,$d2,$t){
		$r=false;
		$d=self::dateDifference($d1,$d2);
		if($t=='y'){
			$r=$d['y'];
		}elseif($t=='m'){
			if($d['y']==0){
				$r=$d['m'];
			}
		}elseif($t=='d'){
			if($d['y']==0&&$d['m']==0){
				$r=$d['d'];
			}
		}elseif($t=='h'){
			if($d['y']==0&&$d['m']==0&&$d['d']==0){
				$r=$d['h'];
			}
		}elseif($t=='i'){
			if($d['y']==0&&$d['m']==0&&$d['d']==0&&$d['h']==0){
				$r=$d['i'];
			}
		}else{
			if($d['y']==0&&$d['m']==0&&$d['d']==0&&$d['h']==0&&$d['i']==0){
				$r=$d['s'];
			}
		}
		return $r;
	}
	
	public function dDiff($tmp){
		$r=false;
		date_default_timezone_set($this->dateTimezone);
		$now=new DateTime(date('Y-m-d H:i:s'));
		$next=new DateTime($tmp);
		if($now!=$next){
			$int=$now->diff($next);
			if($int->invert==0&&$int->days==0){
				$r=true;
			}
		}
		return $r;
	}
	
	public function dRelativeTime($date,$firstLine=false){
		$time=self::dateDifference(date('Y-m-d H:i:s'),$date);
		if($time['n']=='f'){# Futur
			$return=(($firstLine)?'Pour dans ':'pour dans ');
		}else{# Passé
			$return=(($firstLine)?'Il y a ':'il y a ');
		}
		if($time['y']>0){$return.=$time['y'].(($time['y']>1)?' ans ':' an ');
			if($time['m']>0){$return.=$time['m'].' mois ';}
			if($time['w']>0){$return.=$time['w'].(($time['w']>1)?' semaines ':' semaine ');
				if($time['wd']>0){$return.='et '.$time['wd'].(($time['wd']>1)?' jours ':' jour ');}
			}elseif($time['d']>0){$return.='et '.$time['d'].(($time['d']>1)?' jours ':' jour ');}
		}elseif($time['m']>0){$return.=$time['m'].' mois ';
			if($time['w']>0){$return.=$time['w'].(($time['w']>1)?' semaines ':' semaine ');
				if($time['wd']>0){$return.='et '.$time['wd'].(($time['wd']>1)?' jours ':' jour ');}
			}elseif($time['d']>0){$return.=$time['d'].(($time['d']>1)?' jours ':' jour ');}
		}elseif($time['w']>0){$return.=$time['w'].(($time['w']>1)?' semaines ':' semaine ');
			if($time['wd']>0){$return.='et '.$time['wd'].(($time['wd']>1)?' jours ':' jour ');}
		}elseif($time['d']>0){$return.=$time['d'].(($time['d']>1)?' jours ':' jour ');
			if($time['h']>0){$return.='et '.$time['h'].(($time['h']>1)?' heures ':' heure ');}
		}elseif($time['h']>0){$return.=$time['h'].(($time['h']>1)?' heures ':' heure ');
			if($time['i']>0){$return.='et '.$time['i'].(($time['i']>1)?' minutes ':' minute ');}
		}elseif($time['i']>0){$return.=$time['i'].(($time['i']>1)?' minutes ':' minute ');
			if($time['s']>0){$return.='et '.$time['s'].(($time['s']>1)?' secondes ':' seconde ');}
		}elseif($time['s']>0){$return.=$time['s'].(($time['s']>1)?' secondes ':' seconde ');
		}else{$return.='moins de 1 seconde';
		}
		return trim($return);
	}

	public function dDateHeure($d,$f=null){
		date_default_timezone_set($this->dateTimezone);
		if(!is_int($d)){
			$tmp=explode(' ',$d);
			$date=explode('-',$tmp[0]);
			$heure=explode(':',$tmp[1]);
			$d=mktime($heure[0],$heure[1],$heure[2],$date[1],$date[2],$date[0]);
		}
		if($f!=null){
			$date=date($f,$d);
		}else{
			$date=date($this->formatDate,$d);
		}
		$date=str_replace($this->basicDays,$this->formatDays,$date);
		$date=str_replace($this->basicMonth,$this->formatMonth,$date);
		if($f==null){
			$heure=date($this->formatHeure,$d);
		}
		if($f!=null){
			return $date;
		}else{
			return $date.' à '.$heure;
		}
	}

	public function dDate($d,$f=null){
		date_default_timezone_set($this->dateTimezone);
		if(!is_int($d)){
			$tmp=explode(' ',$d);
			$date=explode('-',$tmp[0]);
			$d=mktime(0,0,0,$date[1],$date[2],$date[0]);
		}
		if($f!=null){
			$date=date($f,$d);
		}else{
			$date=date($this->formatDate,$d);
		}
		$date=str_replace($this->basicDays,$this->formatDays,$date);
		$date=str_replace($this->basicMonth,$this->formatMonth,$date);
		if($f==null){
			$heure=date($this->formatHeure,$d);
		}
		return $date;
	}

	public function dHeure($d){
		date_default_timezone_set($this->dateTimezone);
		if(!is_int($d)){
			$tmp=explode(' ',$d);
			$heure=explode(':',$tmp[1]);
			$d=mktime($heure[0],$heure[1],$heure[2],0,0,0);
		}
		return date($this->formatHeure,$d);
	}

	public function dateDifference($date1,$date2){
		if(!is_int($date1)){
			$tmp=explode(' ',$date1);
			$d=explode('-',$tmp[0]);
			$h=explode(':',$tmp[1]);
			$date1=mktime($h[0],$h[1],$h[2],$d[1],$d[2],$d[0]);
		}
		if(!is_int($date2)){
			$tmp=explode(' ',$date2);
			$d=explode('-',$tmp[0]);
			$h=explode(':',$tmp[1]);
			$date2=mktime($h[0],$h[1],$h[2],$d[1],$d[2],$d[0]);
		}
		$s=$date2-$date1;
		$n=(($s<0)?'p':'f');
		$s=abs($s);
		$y=intval($s/31104000);
		$s-=$y*31104000;
		$m=intval($s/2592000);
		$s-=$m*2592000;
		$d=intval($s/86400);
		$s-=$d*86400;
		$w=round($d/7);
		$wd=$d-($w*7);
		if($wd<0){
			$w=$w-1;
			$wd=7+$wd;
		}
		$h=intval($s/3600);
		$s-=$h*3600;
		$i=intval($s/60);
		$s-=$i*60;
		return array('n'=>$n,'y'=>$y,'m'=>$m,'w'=>$w,'wd'=>$wd,'d'=>$d,'h'=>$h,'i'=>$i,'s'=>$s);
	}

	public function __destruct(){}
}
?>
0