comment calculer une date passée ?

comment calculer une date passée ? - PHP - Programmation

Marsh Posté le 11-12-2007 à 22:47:22    

Bonjour
Je voudrais calculer l'heure qu'il était il y a une minute (y compris l'année, le mois, le jour, l'heure, les minutes et les secondes)
J'ai donc fait un petit script
if min = 0 ... min = 59 hour = hour -1 (en simple pour faire vite ici)
 
cependant, existe t il il une fonction permettant de calculer ça, style $date2 = date("h,i,m-1" ) ??
 
merci


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2007 à 22:47:22   

Reply

Marsh Posté le 11-12-2007 à 23:06:01    

heu non... il ne me semble pas qu'il existe de fonction pour calculer une différence entre dates. Tu dois passer par une conversion. La conversion en timestamp Unix (voir time(), mktime(), strftime()) est la plus pratique dans de nombreux cas.

Reply

Marsh Posté le 11-12-2007 à 23:10:44    

merci j'avais deja fait ca mais dommage, c'est lourd.
ça marche à partir de 00h01 lol
mais je ne l'ai pas fait pour les secondes...
 

Code :
  1. // calcul des heures
  2. $date = date("Y-m-d" );
  3. $heure = date('h');
  4. $minute = date('i');
  5. $seconde = date('s');
  6. if ($minute > 0)
  7. {
  8. $minutemoins = $minute - 1;
  9. $heuremoins = $heure;
  10. }
  11. if ($minute == 0)
  12. {
  13. $minutemoins = 59;
  14. $heuremoins = $heure - 1;
  15. }
  16. if ($heuremoins < 0)
  17. {
  18. $heuremoins = 0;
  19. $minutemoins = 0;
  20. }
  21. $datex = date("Y-m-d" );
  22. $date = $datex.' '.$heure.':'.$minute;
  23. $datemoins = $datex.' '.$heuremoins.':'.$minutemoins;


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2007 à 23:28:45    

Passe plutot par un timestamp. Si tu as besoin de plus de précision que la seconde, il y a microtime() ou encore gettimeofday(). Si tu as besoin d'une plus grande plage (les timestamps unix 32bits vont de 1970 à 2038), ou de conversions plus sophistiquées il y a toujours les fonctions de conversion de calendrier ( http://fr.php.net/manual/fr/ref.calendar.php ).


Message édité par nargy le 11-12-2007 à 23:29:11
Reply

Marsh Posté le 11-12-2007 à 23:35:09    

merci.
heu la php me dit qu'il est11h35 alors qu'il est 23h35...
y aurait il une subtilité ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2007 à 23:44:51    

H = 24h
h = 12h


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2007 à 23:47:20    

Salut
 

Code :
  1. date('d/m/Y H:i:s', mktime()-60);

?

Reply

Marsh Posté le 11-12-2007 à 23:53:20    

ah ben voila....
Merci Sub
 
Encore un qui a du se demander :
mais où va t il chercher tout ça ???
 
Arfff
 
trop développé en VB sans doute !


Message édité par erwan83 le 11-12-2007 à 23:56:32

---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

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