Avatar billede some0ne Nybegynder
14. august 2002 - 14:23 Der er 2 kommentarer og
1 løsning

sammenlig datoer og udregn hvor mange minutter

Vi er ved at lave det hersens online spil, som kører i ticks, det vil sige at hver gang der er et 'tick' f.eks. hver time eller ½ time skal spillet opdateres. Det har vi valgt at gøre på følgende måde:
Serverens dato oplysninger skal sammen lignes med brugerens 'sidst du var online' tid som er gemt i en db, så skal php sammenligne disse to datoer og udregne hvor mange minutter det er siden. De to datoer der skal sammenlignes kommer til at bestå af: årstal, måned og dag, timer minutter og sekunder f.eks. 2002, 8/14, 14:22:33. Datoerne php skal sammenligne kommer altså til at indeholde disse informationer, og skal somsagt udregne hvor mange minutter der er imellem sidste logon tidspunkt og serverens nuværende dato!

hvis der er forslag til hvordan man ellers kan gøre det er det også ok!, men ikke noget med cronjob eller at da vi ikke har adgang til serverne!
Avatar billede jespernaur Nybegynder
14. august 2002 - 17:21 #1
PHP funktionen time returnerer aktuelt klokkeslet som et UNIX-tidsstempel (hvilket er
sekunder siden 1-JAN-1970 00:00:00). Hvis jeres 2 tidsstempler foreligger (eller kan
bringes) på denne form, er det bare at trække dem fra hinanden og dividere med 60.

Funktionen strtotime konverterer en tekst-streng indeholdende dato/klokkeslet. Den
siges at være meget large mht formatet, hvis I vil gå den vej, må I nok prøve jer lidt
frem.

Hvis I kan fremskaffe tidspunktet som 6 int-variable (år, måned, dato, time, minut, sekund),
kan I bruge funktionen mktime til at lave dem om til et UNIX-tidsstempel. BEMÆRK den
ejendommelige rækkefølge af parametrene:

int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])

Mvh
Jesper Naur
Avatar billede some0ne Nybegynder
14. august 2002 - 21:02 #2
takker for svaret, kigger på det asap
Avatar billede mortenfn Nybegynder
15. august 2002 - 22:10 #3
ja det er egentligt meget rigtigt det jesper skriver.

der er flere måder at gøre det på, men for jer er det nok nemmest at gemmes unix-tiden i DB sat med time(), og så formate tiden ved udskrift med date("Y, m/D, h:i:s",$db_tiden)

I skal lige være opmædksomme på at hvis i bruger MySQL som db kan i med fordel også bruge koollone tyben TIMESTAMP
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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