Probleme de Timestamp

Mammouth du PHP | 1339 Messages

15 mars 2005, 04:19

Voila le topo :)

Je veux affiche le timestamp du 01/11/2005 00:00:00

Logiquement ca devrait donner :
mktime(0,0,0,10,1,2005) + (31 * 86400)
Hors j'obtient 31/10/2005 23:00:00

pourquoi ? :)
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 859 Messages

15 mars 2005, 11:06

J'ai tout simplement fait ça moi :
<?php
$d = getdate(mktime(0,0,0,11,1,2005));

echo $d['mday']."/".$d['mon']."/".$d['year']." ".$d['hours'].":".$d['minutes'].":".$d['seconds']."<br /><br />";
//Affiche 1/11/2005 0:0:0

echo $d[0];
//Affiche 1130799600
?>
En plus en numéro de mois tu mets 10 alors que tu veux Novembre (11) ;)

Mammouth du PHP | 1339 Messages

15 mars 2005, 14:27

En fait je veux que m'on exemple marche :)
C'est surtout ca... Je sais comment recuperer le timestamp de novembre :)
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 859 Messages

15 mars 2005, 15:01

Baaaaah je vois que ça :
<?php
$timestamp = (31 * 86400);
$d = getdate(mktime(1,0,0,10,1,2005) + $timestamp);

echo $d['mday']."/".$d['mon']."/".$d['year']." ".$d['hours'].":".$d['minutes'].":".$d['seconds']."<br /><br />";
//Affiche 1/11/2005 0:0:0
?>
Bon ok c'est de la bidouille :roll: :lol:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

15 mars 2005, 15:31

La meilleure façon est d'utiliser la fonction :
variant variant_date_from_timestamp ( int timestamp )
Disponible sous PHP5.

Exemple :
echo  variant_date_from_timestamp  (mktime(0,0,0,10,01,2005)+(31*24 + 1)*60*60);
Ce code affiche :
01/11/2005 00:00:00
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 1339 Messages

16 mars 2005, 13:25

Bon, je vous monter mon code ca ira plus vite !
	if(empty($_GET['time'])) {
		$time_mois = mktime(0,0,0,date('n'),1,date('Y'));
	} else {
		$time_mois = mktime(0,0,0,date('n',$_GET['time']),1,date('Y',$_GET['time']));
	}
	$liste_mois = array("Janvier","Févirer","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Décembre");
	$mois = date('n',$time_mois);								// Numero du mois actuel
	$mois_commence = date('w',$time_mois);						// Numéro du jour du premier jour du mois
	if($mois_commence == 0) $mois_commence = 7;					// Si le premier jour est un dimanche
	$nb_jour_mois = date('t',$time_mois);						// Nombre de jour dans le mois
	$nb_jour_avec_le_debut = $nb_jour_mois + $mois_commence;	// Nombre de jour incluant les jours precendant
	$nb_ligne = ceil($nb_jour_avec_le_debut/7);					// Nombre de ligne contenant les jours !
	$debut_time = $time_mois - (($mois_commence-1)*86400);		// Timestamp du premier jour
	$time_suivant = $time_mois + ($nb_jour_mois*86400); 		// Timestamp du premier jour du mois suivant
	$time_precedant = $time_mois - 1;							// Dernier jour du mois precedent à 23:59:59
	?> 
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 413 Messages

16 mars 2005, 19:14

y aurait pas un passage à l'heure d'hiver en octobre, qui expliquerait le decalage d'une heure ?

de telle sorte que :

01/11/2005 00:00:00 = 01/10/2005 00:00:00 + 31 jours - 1 heure
--
Goeb