2009-09-17 8 views
3

J'essaie de comprendre ce qui est la meilleure façon dedates comparant en PHP et MYSQL

  1. Prenez la date/heure (est date('Y-m-d H:i:s') mieux?)
  2. Prenez la date db de SQL
  3. Vérifiez si la date actuelle (# 1) est entre la date tirée de la DB et 5 heures après

Je suis un débutant à php.

Répondre

3

Tirez la date que vous vouliez de MySQL

SELECT myDateCol FROM myTable WHERE ... 

convertir en un timestamp UNIX

$db_timestamp = strtotime($db_row['myDateCol']); 

Vérifiez si la date de la DB est au cours des 5 dernières heures

if ($db_timestamp >= strtotime('-5 hours')) echo 'DB date is within last 5 hours'; 
0

Utilisez la classe DateTime de PHP:

$start = new DateTime("2009/09/17 18:52:31"); 
//Your SQL request should set this 

$end = date_add($start,new DateInterval("PT5H")) 

$now = new DateTime(); 

if($start<$now && $now<$end) 
{ 
//etc 
} 
+0

Il a dit cinq heures, pas cinq minutes. –

+0

En fait, le M représente des mois. Bien repéré bien. Je ne payais pas d'intention. Copiez et collez à nouveau les empreintes digitales ... – Eric