Avatar billede blackscorpion Nybegynder
23. juni 2001 - 17:37 Der er 7 kommentarer og
1 løsning

Perl problem med tid.

Hej Ekspert - brugere.

Jeg har et problem med noget perl.
Jeg leder efter en funktion ala PHP date().

Jeg har en håndfuld brugere og en håndfuld sekunder.
Hvordan får jeg lavet sekunderne om til timer, minutter og sekunder.

Sådan at en bruger kan se den tid han/hun har været online på min side i timer:minutter:sekunder??

KBJ.
Avatar billede jespernaur Nybegynder
23. juni 2001 - 19:55 #1
Hvis $total_seconds indeholder det relevante antal sekunder, kan du gøre således:

$hours = int($total_seconds / 3600);
$minutes = int(($total_seconds % 3600) / 60);
$seconds = $total_seconds % 60;

Siden kan du bruge print eller printf til at formattere resultatet som du
ønsker.

Mvh
Jesper Naur
Avatar billede breum Nybegynder
23. juni 2001 - 21:25 #2
Velkommen til eksperten!

Skulle du ikke gemme nogle points til næste gang du har et spørgsmål?
Avatar billede blackscorpion Nybegynder
23. juni 2001 - 21:38 #3
Jo, det skulle jeg, og jeg har lige dummet mig, godt nok virkede det, men nu har jeg et problem mere med localtime. :(
Avatar billede breum Nybegynder
23. juni 2001 - 21:53 #4
Mon det er noget i denne stil du mangler?

    ($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6];
    $time = sprintf(\"%02d:%02d:%02d\",$hour,$min,$sec);
    $year += 1900;

    # Format the date.                                                      #
    $date = \"$days[$wday], $months[$mon] $mday, $year at $time\";
Avatar billede breum Nybegynder
23. juni 2001 - 21:54 #5
eller
$long_date= localtime;

Se folk vil godt svare uden at få 300 points!

Når du engang har points igen, så tag og gem nogle!
Avatar billede blackscorpion Nybegynder
23. juni 2001 - 22:01 #6
Det skal jeg nok huske. :))

Men mit problem består i at jeg skal finde den tid brugere er online, jeg har nu fået løst det med at få lavet sekunder om til timer:minutter:sekunder.

så havde jeg tænkt mig at jeg skulle tage localtime(), når de loggede ind og gemme den i en variable. og når de så loggede ud, så bruge localtime igen.

altså.

localtime() - $login_tid

For så håbede jeg på at få noget ala 6782sekunder... men i stedet for jeg 678256000000000 ... og det kan jeg ikke rigtigt bruge... :(
Avatar billede jespernaur Nybegynder
24. juni 2001 - 00:22 #7
Du bør bruge funktionen time til at skaffe tidsstemplerne - time returnerer antallet af sekunder siden 1. januar 1970. localtime kan konvertere en \'time\'-værdi til en liste af værdier, som beskrevet af breum ovenfor.

Hvis du registrerer \'time\' når en bruger starter, kan du til enhver tid subtrahere denne værdi fra den aktuelle \'time\' og dermed få antallet af sekunder, brugeren har været online. Det kan du så sende igennem mit oprindelige svar, så skulle den være der.
Avatar billede blackscorpion Nybegynder
24. juni 2001 - 00:26 #8
Ja, jeg har fundet ud af det nu. :)

Men Tak for hjælpen, også til dem som ikke fik nogle point ud af det.
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
Kurser inden for grundlæggende programmering

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