login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

Tijds vraag

elian – 14/01/2012 16:30 (Laatst gewijzigd op 14/01/2012 16:31)
Beste,
Ik heb in mijn database een kolom datetime
met een insert gaat NOW() erin

nu mijn vraag, ik zou graag willen weten hoe ik het volgende kan berekenen:


$today = date("Y-m-d G:i:s", strtotime('-1 hour'));


met de tijd die uit de kolom datetime komt.

met dank

4 antwoorden

Gesponsorde links

MiST – 14/01/2012 19:01 (Laatst gewijzigd op 14/01/2012 19:01)
Wel, als je er de documentatie van PHP op naleest, is dat eenvoudig. strtotime geeft je een integer terug, de timestamp. Een timestamp is gewoon het aantal seconden sinds 1 januari 1970. En dus...

In de veronderstelling dat je kolom in de associatieve array $col zit:

  1. // Tijd - 1 uur(= 60 minuten * 60 seconden = 3600)
  2. $timeMinusOneHour = strtotime($col['datetime']) - 3600;
  3. $string = date('Y-m-d G:i:s', $timeMinusOneHour);




WouterJ – 14/01/2012 20:09 (Laatst gewijzigd op 14/01/2012 20:17)
Nu kun je dit ook oplossen met alleen SQL:
  1. SELECT
  2. DATE_FORMAT(datumveld - INTERVAL 1 HOUR, '%Y-%m-%d %G:%i:%s') AS date
  3. FROM
  4. someTable



@MiST, in PHP kun je hiervoor gewoon PHP.net: strtotime gebruiken:
  1. $tijd = date('Y-m-d G:i:s', strtotime($row['date'].' - 1 hour'));


elian – 15/01/2012 04:47
bedankt mensen

MiST – 15/01/2012 12:13
@WouterJ. Hoewel het perfect mogelijk is, vind ik dergelijke constructies precies intuïtief gevaarlijk (echter geen idee waarom). Het is het ook net een tikkeltje trager, al is het verschil nauwelijks merkbaar: 1.367 seconden op 1 miljoen uitvoeringen kan je eigenlijk verwaarloosbaar noemen.

  1. MiST@mist-notebook /tmp
  2. $ time php mine.php
  3.  
  4. real 0m48.868s
  5. user 0m0.000s
  6. sys 0m0.015s
  7.  
  8. MiST@mist-notebook /tmp
  9. $ time php yours.php
  10.  
  11. real 0m50.235s
  12. user 0m0.000s
  13. sys 0m0.031s



Gesponsorde links

Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.111s