Avatar billede snorres Nybegynder
13. januar 2005 - 07:31 Der er 13 kommentarer og
1 løsning

minutter siden oprettelse.

Nogen der har et script ligende, eller nogle idéer til hvordan jeg kan skrive praecis hvor mange dage, timer, min det er siden at en bruger oprettede sig som bruger?
Så jeg derefter kan opdele det i 10 min, og finde ud af hvor mange points han har?

lige nu står der i Bruger databasen på denne måde hvornår han er oprettet: 02 July 2004 00:05:20
det er man sikkert nød til at aendre og det er ikke noget problem :)
Avatar billede morteeart Nybegynder
13. januar 2005 - 08:01 #1
ja, du er nød til at lave det om med mktime() funktionen (http://dk.php.net/mktime)
Til et timestamp, som er antal sekunder, og herefter udregne antal minutter.
Avatar billede hmortensen Nybegynder
13. januar 2005 - 10:46 #2
Hvis du skriver dato/tid i databasen i iso format, kan det også bruges til noget.
Sådan som du har skrevet det nu, bliver det kun svære at arbejde med.

Altid gemme sådan her:

2005-13-01 10:45:00
Avatar billede detox Nybegynder
13. januar 2005 - 11:17 #3
Du kan nu osse bruge dit nuværende format. Eksempel:

$t = '02 July 2004 00:05:20';
echo round((time()-strtotime($t))/600); // 28153 (antal 10 min.)
Avatar billede snorres Nybegynder
13. januar 2005 - 21:25 #4
For laekkert Detox, jeg var ellers sikker på jeg skulle lave om på det :O`

Hmm hvordan henter jeg tiden på serveren istedet for tiden på brugeres computer? Lidt i tvivl om jeg gør det nu, men kan ikke teste det her :(
Bare hvis den tager tiden på computern kan man jo snyde lidt for nemt.. :S?
Avatar billede detox Nybegynder
13. januar 2005 - 21:27 #5
time() henter tiden på serveren. php er jo server-side ;o)
Avatar billede snorres Nybegynder
13. januar 2005 - 21:29 #6
Ja mente jeg også :)
Og mange tak :)

Villde det ikke også vaere en del nemmere hvis man havde brugt time() i oprettelses formularen :S hehe jeg klumre rundt for tiden S:
Avatar billede detox Nybegynder
13. januar 2005 - 21:32 #7
Jo, hvis du gemmer time() i et INT felt, behøver du jo ikke strtotime() og du vil altid kunne formatere det som du vil ved visning.
Avatar billede detox Nybegynder
13. januar 2005 - 21:33 #8
Og velbekommen ellers :o)
Avatar billede snorres Nybegynder
13. januar 2005 - 21:34 #9
ja, ved ikke hvorfor jeg ikke gjorde det :S
mange tak, post et svar :)
Vil det så bare blive:

$t = 'laaaangt tal :P';
echo round((time()-$t)/600); // 28153 (antal 10 min.)
Avatar billede detox Nybegynder
13. januar 2005 - 21:37 #10
Korrekt, eller fx med printf():

printf('%u point', round((time()-$t)/600));
Avatar billede snorres Nybegynder
14. januar 2005 - 08:28 #11
Hva bruger man printf og %u til?
Avatar billede detox Nybegynder
14. januar 2005 - 11:12 #12
printf() er en udvidet version af print(), hvor fx %u viser tallet som et helt positivt tal. Se mere om mulighederne med printf() og sprintf() her:
http://dk2.php.net/manual/en/function.printf.php
http://dk2.php.net/manual/en/function.sprintf.php
De kan være endda særdeles praktiske at kende ;o)
Avatar billede snorres Nybegynder
14. januar 2005 - 16:44 #13
tusind tak :)
Avatar billede detox Nybegynder
14. januar 2005 - 17:36 #14
Selv tak :O)
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