Avatar billede cronaldo Nybegynder
07. juli 2005 - 11:31 Der er 10 kommentarer og
3 løsninger

Tæl op hvor mange sekunder der er fra..

$senesteaktivitet = $data[senesteaktivitet]; (hentes fra tabel)

$nu5 = date("m-d-Y h:i:s",mktime(date("h"),date("i")-5,date("s"),date("m"),date("d"),date("Y")));

kan man tælle op hvor lang tid(SEKUNDER) der er fra $senesteaktivitet til $nu5 ?
Avatar billede cronaldo Nybegynder
07. juli 2005 - 11:38 #1
Ingen der kan hjælpe? :o)
Avatar billede hmortensen Nybegynder
07. juli 2005 - 11:44 #2
1. Det er et forum og ikke en live chat, så forvent ikke svar med det samme.

2. Hvad indeholder $senesteaktivitet ? Dato/tid ? Og i hvilket format ?
Avatar billede cronaldo Nybegynder
07. juli 2005 - 11:51 #3
Seneste aktivitet kommer til at indeholde en "now()" som jeg så laver om til samme format som $nu5 :o)
Avatar billede cronaldo Nybegynder
07. juli 2005 - 13:54 #4
Nogen der kan hjælpe?
Avatar billede mrgumble Nybegynder
07. juli 2005 - 13:57 #5
Først nogle småting:
1. Din første linie "$senesteaktivitet = $data[senesteaktivitet];" returnerer højstsandsynlig en fejl, da [senesteaktivitet] henviser til en konstant, og ikke en desideret streng som index.
2. En lettere måde at trække 5 dage fra NU er med funktionen strtotime:
  a. $nu5 = strtotime("-5 days"); // http://dk2.php.net/manual/en/function.strtotime.php
  b. $nu5 = time() - (5 * 24 * 60 * 60); // 5 dage * 24 timer/dag * 60 minutter/time * 60 sekunder/minut

Dernæst er det interessant at kigge på din $senesteaktivitet. At den indeholder en "Now()" betyder jo blot, at den indeholder en dato i formatet 'YYYY-MM-DD HH:MM:SS'. Derfor er det relevant at hente den til den "universielle" tidsformat, en Unix Timestamp. Det gør du i din SQL-sætning:
"SELECT UNIX_TIMESTAMP(senesteaktivitet) as senesteaktivitet FROM ..."
Derved har du din senesteaktivitet dato som antallet af sekunder siden 1. januar 1970. Hvis du så også får returneret din $nu5 som en timestamp (antallet sekunder), er sagen jo ligetil:
$antalsekundermellem = $nu5 - $senesteaktivitet.
Avatar billede cronaldo Nybegynder
07. juli 2005 - 14:04 #6
Jamen ..

Ikke rigtigt det jeg vil jo .. $data[senesteaktivitet] henter fra min mySQL-tabel .. Men ja, jeg kunne nok godt lave det om til det der med sekunder siden 1/1/70 0:0:0 ..
Men alligevel, hvis du kan give mig en måde, hvorpå jeg kan skrive det om til en normal dato (fx 14/06/2005 21:35:05) ville det være dobbelt kanon :o)
Avatar billede cronaldo Nybegynder
07. juli 2005 - 14:06 #7
Men jeg skal nu kun have trukket 300 sekunder eller 5 minutter fra :D
Avatar billede mrgumble Nybegynder
07. juli 2005 - 14:21 #8
Nåh... jamen 5 dage eller 5 sekunder kan vel komme ud på et:
a. $nu5 = strtotime("-5 minutes");
b. $nu5 = time() - (5*60);

Men hvad er det, du vil have skrevet som en normal dato? Tidsrummet mellem $senesteaktivitet og $nu5?? For det kan jo ikke udtrykkes som en dato.
Avatar billede cronaldo Nybegynder
07. juli 2005 - 14:32 #9
Nej, jeg vil, have det der er skrevet som sekunder siden 1970 lavet om til en dato, kan det lade sig gøre? :)
Avatar billede mrgumble Nybegynder
07. juli 2005 - 14:36 #10
Jamen det er jo det date()-funktionen gør (http://dk2.php.net/manual/en/function.date.php).
Avatar billede cronaldo Nybegynder
07. juli 2005 - 14:41 #11
ok .. Skriver du hvordan, så er der point :-)
Avatar billede mrgumble Nybegynder
07. juli 2005 - 14:45 #12
Nu er du lige lovlig fræk. Du har jo selv brugt den i dit spørgsmål. Men...:
echo date("j/n/Y H:i:s", $senesteaktivitet);

Hvis du vil have andre ting vist, så tjek linket i mit forrige svar.
Avatar billede cronaldo Nybegynder
07. juli 2005 - 14:58 #13
Jeg takker mange gange :-)
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