rekenen met tijd in sql

Status
Niet open voor verdere reacties.

lefty999

Gebruiker
Lid geworden
5 jul 2002
Berichten
913
dag beste

ik wil de tijd uit het database halen en dan 1 uur of 1 dag ofzo bijtellen en dan vergelijken en de oude eruitgooien nu kan ik de tijd uit het database halen maar hoe tel ik er 1 dag of 1 uur bij of af van die tijd?

zo staat het in mijn database : 2008-10-20 18:52:25

alvast bedankt
 
Dat kan met date_add (tijd erbij):
PHP:
mysql> SELECT DATE_ADD( now(), INTERVAL 1 HOUR ) uur;
+---------------------+
| uur                 |
+---------------------+
| 2008-10-20 22:45:32 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_ADD( now(), INTERVAL 1 DAY ) dag;
+---------------------+
| dag                 |
+---------------------+
| 2008-10-21 21:45:32 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_ADD( now(), INTERVAL 1 MONTH ) maand;
+---------------------+
| maand               |
+---------------------+
| 2008-11-20 21:45:32 |
+---------------------+
1 row in set (0.00 sec)

Of met date_sub (tijd eraf):
PHP:
mysql> SELECT DATE_SUB( now(), INTERVAL 1 HOUR ) uur;
+---------------------+
| uur                 |
+---------------------+
| 2008-10-20 20:45:32 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_SUB( now(), INTERVAL 1 DAY ) dag;
+---------------------+
| dag                 |
+---------------------+
| 2008-10-19 21:45:32 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_SUB( now(), INTERVAL 1 MONTH ) maand;
+---------------------+
| maand               |
+---------------------+
| 2008-09-20 21:45:33 |
+---------------------+
1 row in set (0.00 sec)
 
Maar gooi geen data weg, dan kun je er nooit meer iets mee. Een database is niet snel te groot en het is later altijd interessant voor statistieken.
 
hoe kun je dan met die code een vergelijkenis maken met 2 datums? als ik niks uit het db wil halen maar toch wil kijken als er 10 min. geleden ook dezelfde datum instaat.

dus b.v.
10:30 zit in het db en om 10:40 word de pagina opnieuw geladen en ik wil dan een actie uitvoeren als het later dan 10:40 is.
dus als hetzelfde ip in het db zit (bij de tijd) en het nog geen 10 min. geleden is er een actie uitgevoerd word.
 
met die date sub en date add haal je allleen uit het database wat min of plus de tijd is ik wil de tijd die ik eruithaal 10 min. ofzo bijtellen dan gaan vergelijken en als het kleiner is dan huidige tijd een actie uitvoeren en als het groter is een actie uitvoeren dus select .....

dan heb ik de value 2008-10-22 23:09:00 in een $waarde zitten en dan wil ik daar 10 min. bijtellen en dan if $nieuwewaarde = datetime now doe a else doe b
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan