Avatar billede ofirpeter Nybegynder
07. august 2006 - 10:14 Der er 8 kommentarer og
1 løsning

Trække to datoer fra hinanden med SQL

Hvordan trækker jeg to datoer fra hinanden, og får mit resultat ud i dages forskel?

Det kunne f.eks. være:
2006-08-04 13:54:06 og 2006-09-22 13:54:06
Avatar billede Slettet bruger
07. august 2006 - 10:41 #1
Altså du vil vide hvor mange dage der er i mellem?

function difference($d1, $d2) {
  $explode_d1 = explode(" ", $d1);
  $explode_d2 = explode(" ", $d1);

  $exp_d1_date = explode("-", $explode_d1[0]);
  $exp_d2_date = explode("-", $explode_d2[0]);

  $exp_d1_time = explode(":", $explode_d1[1]);
  $exp_d2_time = explode(":", $explode_d1[2]);

  $d1 = mktime($exp_d1_time[0], $exp_d1_time[1], $exp_d1_time[2], $exp_d1_date[1], $exp_d1_date[0], $exp_d1_date[2]);
  $d2 = mktime($exp_d2_time[0], $exp_d2_time[1], $exp_d2_time[2], $exp_d2_date[1], $exp_d2_date[0], $exp_d2_date[2]);

  $facit = $d1 - $d2;
  return (($facit/60)/60)/24; // antal dage
}
Avatar billede Slettet bruger
07. august 2006 - 10:42 #2
Håber det virker.
Avatar billede Slettet bruger
07. august 2006 - 10:44 #3
så skal du bare:
echo difference("2006-08-04 13:54:06", "2006-09-22 13:54:06");

Så skulle de meget gerne skrive det ud... (?) Har ikke kunne teste det.
Avatar billede jtofte Nybegynder
07. august 2006 - 10:44 #4
jeg mener der er en function i mysql der hedder datediff(dato1, dato2)
Avatar billede Slettet bruger
07. august 2006 - 10:48 #5
Det er der ikke i følge PHP.net
Avatar billede Slettet bruger
07. august 2006 - 10:50 #6
Når kategori mySQL..... dunno så.
Avatar billede jtofte Nybegynder
07. august 2006 - 11:16 #7
Hej Jeg har testet det, det virker fint ved mig.

eks.

Select datediff(now(), datofelt) from tabel

now() kan selvfølgelig udskiftes med en dato
Avatar billede ofirpeter Nybegynder
07. august 2006 - 11:22 #8
Mange tak, jtofte du må meget gerne svare
Avatar billede jtofte Nybegynder
07. august 2006 - 11:29 #9
her er et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester