Avatar billede pkdkk Nybegynder
26. maj 2008 - 09:02 Der er 3 kommentarer og
1 løsning

Tid og dato over midnat med PHP

Hey..

Skal bruge en "tid funktion" i php der kan gå over midnat til en vagtplan.

Altså en vagt kan fx. hedde 26/05-08 fra 10:00 til 15:00
Dette er ikke et problem, her kan mit script fint regne ud at der er 5 timer.

MEN hvis vagten hedder fx. fra 22:00 til 02:00  vil udregningen blive -20 timer istedet for 4 timer.!

HVAD skal jeg gøre?

Mit simple script ser således ud:
$totalTime = strtotime($row[myEndTime]) - strtotime($row[myStartTime]);

2 tider i en database
Avatar billede w13 Novice
26. maj 2008 - 09:04 #1
Jeg ville sige:

$totalTime = strtotime($row[myEndTime]) - strtotime($row[myStartTime]);
if(strtotime($row[myEndTime]) < strtotime($row[myStartTime])){$totaltime-=24;}
Avatar billede w13 Novice
26. maj 2008 - 09:05 #2
Dvs. hvis sluttiden er mindre end starttiden (sluttiden er efter midnat), så trækkes 24 timer fra. Det kan også være, de skal lægges til i stedet, når du nu har -20 og ikke 20.
Avatar billede coderdk Praktikant
26. maj 2008 - 09:54 #3
Hvis du gemmer dato/tid i INT (altså PHP's time() eller mySQL's UNIX_TIMESTAMP) i databasen er det jo bare at:

$timer = ( $row['myEndTime'] - $row['myStartTime'] ) / 3600;
Avatar billede showsource Seniormester
26. maj 2008 - 13:41 #4
Hvis tiderne i DB ligger som datetime YY-MM-DD HH:MM:SS kan du bruge:
SELECT TIMEDIFF(`sluttid`,`starttid`) as arbejdstid FROM tabel WHERE bruger = 1
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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