Avatar billede xtr0 Nybegynder
08. april 2003 - 18:28 Der er 11 kommentarer og
1 løsning

regne ud hvor mange dage, timer og minutter der er gået

Ja... som titlen siger skal jeg bruge en lille kode som kan regne ud hvor mange dage, timer og minutter der er gået siden sidste besøg.
Avatar billede swaxi Nybegynder
08. april 2003 - 18:42 #1
int time ()
Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).
Avatar billede xtr0 Nybegynder
08. april 2003 - 18:45 #2
havde ikke tænkt mig med januar.. Lidt mere simpelt...
Ex:
Du har sidst været online for 2 måneder og 1 dag(e) og 15 timer og 1 minut.
Avatar billede htm Nybegynder
08. april 2003 - 18:47 #3
Er dette noget du kan bruge? http://www.nothing.dk/scripts/countdown.php

Hvis du smider et timestamp i en cookie eller i din database kan du sammenligne de tider
Avatar billede swaxi Nybegynder
08. april 2003 - 18:52 #4
altså noget a la
<?php
//  $last_time = time();
    $_date = getdate(time()-$last_time);
    echo "Du har sidst været online for ".$_date['dage']." dage ".$_date['hours']." timer og ".$_date['minutes']." minutter siden";
?>
Avatar billede xtr0 Nybegynder
08. april 2003 - 20:25 #5
<?php
$last_time = 'January 1 1970 00:00:00 GMT';
    $_date = getdate(time()-$last_time);
    echo "Du har sidst været online for ".$_date['dage']." dage ".$_date['hours']." timer og ".$_date['minutes']." minutter siden";
?>

Med denne kode returnerer den: Du har sidst været online for dage 20 timer og 24 minutter siden
Avatar billede xtr0 Nybegynder
08. april 2003 - 20:29 #6
Arh.. Det hedder mday... du får points tak for de hurtige svar :)
Swaxi vil du have points`?
Avatar billede xtr0 Nybegynder
08. april 2003 - 20:52 #7
<?php
$lol = getdate(time());
echo"$lol[year] $lol[mon] $lol[mday] $lol[hours] $lol[minutes]<br>";
$last_time = 'January 1 1970 00:00:00 GMT';
    $_date = getdate(time()-$last_time);
    echo "Du har sidst været online i $_date[year] år  $_date[mon] måneder $_date[mday] dage $_date[hours] timer og $_date[minutes] minutter siden";
?>
Hvordan skal jeg 'gemme' den i sql f.eks
Avatar billede swaxi Nybegynder
09. april 2003 - 21:33 #8
hvis du bruger den nuværende kode, kan du bare gemme timestamp'et (det er en 32-bit integer, så bare gem som typen INT)

alternativt, hvis du føler for det, kan du lade din database håndtere al dato-matematik, i stedet for at gøre det i php. det regnes normalt for god latin at lade databasen gøre den slags, selvom du ikke umiddelbart får noget ud af det. der findes nogle dato-aritmetisk funktioner i mysql så som TODAYS() etc.
hvis du i givet fald vil anvende databasen til at håndtere det med, så kan du bruge en af databasens tids-typer (eg. TIMESTAMP, DATE etc.)
Avatar billede xtr0 Nybegynder
05. maj 2003 - 19:44 #9
swaxi <- kan du komme nærmere ind på det? :S
Avatar billede swaxi Nybegynder
06. maj 2003 - 19:21 #10
xtr0 >> jeg skal prøve.
hvis du har et felt med en tids-type i databasen. f.eks. DATETIME, som du opdaterer ved logon med noget a la :

"UPDATE `user_log` SET `lastlogin`=NOW() WHERE `user`='".$user."'"

så kan du lave sjove ting så som :

"SELECT TODAYS(NOW()-`lastlogin`) FROM `user_log` WHERE `user`='".$user."'"

som giver dig det antal dage, der er passeret siden sidste login.

gav det mening ?
Avatar billede nicklasb Nybegynder
11. maj 2003 - 15:47 #11
Avatar billede xtr0 Nybegynder
11. maj 2003 - 18:52 #12
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