Avatar billede Slettet bruger
26. maj 2010 - 15:24 Der er 15 kommentarer og
1 løsning

Hej lige et hurtigt spørgsmål her, vedr hvordan man laver at klokken ser sådan ud fx 1 minute ago

Hej lige et hurtigt spørgsmål her, vedr hvordan man laver at klokken ser sådan ud fx

1 minute ago
2 minutes ago
1 day ago
2 days ago
3 days ago

hvornår at et indlæg er posted...

fordi min klok og dato ser sådan ud nu:
$dato = date("d/m/Y H:i");
men jeg vil have den til at skrive at dette indlæg er posted for 2 days ago... fx.
Avatar billede jakobdo Ekspert
26. maj 2010 - 15:43 #1
Det nemmeste er at anvende en dato ala time() da du så får den i unixtimestamp.
Dermed kan du så tjekke $din_tid mod time() og lave en beregning på forskellen.
Forskellen vil være = sekunder.

Så under 60 sekunder = > 1 minute ago.
under 3600 > 1 time ago.
etc...
Avatar billede Slettet bruger
27. maj 2010 - 00:10 #2
ja men det ved jeg ikke lige helt præcis hvordan jeg gør.. :)
Avatar billede Slettet bruger
27. maj 2010 - 00:38 #3
hej, jeg har fundet det her script og det virker enlig også men den skriver kun : 2108 weeks ago

hver gang man poster et indlæg:

function ago($dato){
        $difference = time() - $dato;

        if($difference < 60)
            return $difference." seconds ago";
        else{
            $difference = round($difference / 60);
            if($difference < 60)
                return $difference." minutes ago";
            else{
                $difference = round($difference / 60);
                if($difference < 24)
                    return $difference." hours ago";
                else{
                    $difference = round($difference / 24);
                    if($difference < 7)
                        return $difference." days ago";
                    else{
                        $difference = round($difference / 7);
                        return $difference." weeks ago";
                    }
                }
            }
        }
    }

og jeg sætter den til $dato = ago($dato);

er det fordi jeg kun køre localhost med xampp, eller hvad..
Avatar billede jakobdo Ekspert
27. maj 2010 - 07:07 #4
Og din $dato er unixtimestamp ?
Avatar billede Slettet bruger
27. maj 2010 - 09:50 #5
det ved jeg ikke, hvor tjekker jeg det henne ??..
Avatar billede jakobdo Ekspert
27. maj 2010 - 10:09 #6
Tidligere skrev du selv:

$dato = date("d/m/Y H:i");

ret til:

$dato = time();
Avatar billede Slettet bruger
27. maj 2010 - 10:19 #7
ja men hvordan får jeg så function ud til at vise fx 2 days ago..
Avatar billede Slettet bruger
27. maj 2010 - 10:30 #8
jeg har jo time() i functionen,

function ago($dato){
        $difference = time() - $dato;

        if($difference < 60)
            return $difference." seconds ago";
        else{
            $difference = round($difference / 60);
            if($difference < 60)
                return $difference." minutes ago";
            else{
                $difference = round($difference / 60);
                if($difference < 24)
                    return $difference." hours ago";
                else{
                    $difference = round($difference / 24);
                    if($difference < 7)
                        return $difference." days ago";
                    else{
                        $difference = round($difference / 7);
                        return $difference." weeks ago";
                    }
                }
            }
        }
    }
Avatar billede jakobdo Ekspert
27. maj 2010 - 10:33 #9
Prøv lidt selv...
Prøv at udskriv $dato inden du kalder ago(), hvad indholder $data ?
Den skal jo ikke indeholde en "dato" men en unixtimestamp.
Avatar billede Slettet bruger
27. maj 2010 - 10:55 #10
hvis jeg sætter $dato = time(), smider den 1274948936 ud..

og $dato = ago($dato);
bliver det 2108 weeks ago

så er lidt lost her, har søgt google igennem.
Avatar billede jakobdo Ekspert
27. maj 2010 - 11:01 #11
Prøv at udskriv $difference:

$difference = time() - $dato;
Avatar billede Slettet bruger
27. maj 2010 - 11:11 #12
der skriver den 1274951478
Avatar billede jakobdo Ekspert
27. maj 2010 - 11:16 #13
Det er jo enormt lang tid siden så.

Hvor kommer din $dato fra ?
Hvad tidspunkt har du i den ?
Avatar billede Slettet bruger
27. maj 2010 - 11:23 #14
hvad mener du med hvor den kommer fra, og hvad tidspunkt jeg har i den.? hehe
Avatar billede Slettet bruger
27. maj 2010 - 11:37 #15
jeg forstår ingen ting af det her, med den der funtion, siger den at datoen er: 2108 weeks ago Thu January 01 1970 01:35

require("functions.php");
$dato = ago($dato);
echo ago($dato);
echo(date("D F d Y h:i",$dato));
Avatar billede Slettet bruger
06. august 2010 - 15:40 #16
Lukker
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