Avatar billede zurekk Nybegynder
20. maj 2007 - 17:48 Der er 13 kommentarer og
1 løsning

Fra 19:50:00 til 3 minutes ago

Hej Eksperter,

Hvis jeg gav jer en en streng der så sådan her ud:
0000-00-00 00:00:00

Hvordan ville jeg så få den til at skrive 4 timer siden, 5 dage siden, 1 måned siden etc., ligesom youtube.com bruger?

På forhånd tak!
Avatar billede w13 Novice
20. maj 2007 - 18:10 #1
Evt. sådan her?:
---------------
$dateold = date("d-m-Y-G-i-s","0000-00-00 00:00:00");
$datenew = date("d-m-Y-G-i-s");
$dateold = explode("-", $dateold);
$datenew = explode("-", $datenew);
echo $datenew[0]-$dateold[3] . " timer, "
echo $datenew[0]-$dateold[0] . " dage, "
echo $datenew[0]-$dateold[2] . " måneder og "
echo $datenew[0]-$dateold[3] . " år siden."
----------------------
Jeg har ingen anelse, om det virker, da jeg ikke programmerer i PHP og ikke har mulighed for at tjekke det. =)
Avatar billede w13 Novice
20. maj 2007 - 18:11 #2
Korrektion:
echo $datenew[3]-$dateold[3] . " timer, "
echo $datenew[0]-$dateold[0] . " dage, "
echo $datenew[1]-$dateold[1] . " måneder og "
echo $datenew[2]-$dateold[2] . " år siden."
Avatar billede zurekk Nybegynder
20. maj 2007 - 18:25 #3
Det vil jeg da lige prøve..
Avatar billede black-eye Nybegynder
20. maj 2007 - 18:28 #4
Hvis jeg var dig ville jeg ikke satse alle mine spare penge på den der...
Avatar billede zurekk Nybegynder
20. maj 2007 - 18:30 #5
Med dit script er 1990-18-10 20:00:32

37 år siden.
Avatar billede zurekk Nybegynder
20. maj 2007 - 18:31 #6
Så har du vel et bedre forslag, right, black-eye? :D
Avatar billede w13 Novice
20. maj 2007 - 18:32 #7
Som sagt, jeg er ikke PHP-programmør :P
Havde det været ASP, kunne jeg bare have smækket en DateDiff() på, men.. :)
Avatar billede black-eye Nybegynder
20. maj 2007 - 18:33 #8
selvfølgelig kommer om et par min.
Avatar billede w13 Novice
20. maj 2007 - 18:34 #9
..så min kode regner 20 år fra eller til, big deal.. :)
Avatar billede black-eye Nybegynder
20. maj 2007 - 18:47 #10
$olddate = mktime(20, 54, 52, 7, 15, 2000);
$today = time();
$datediff = $today - $olddate;
$total['Y'] = floor($datediff / 31536000);
$datediff -= ($total['Y'] * 31536000);
// Regnes med 30 i en månede...
$total['M'] = floor($datediff / 2592000);
$datediff -= ($total['M'] * 2592000);
$total['D'] = floor($datediff / 86400);
$datediff -= ($total['D'] * 86400);
$total['H'] = floor($datediff / 3600);
$datediff -= ($total['H'] * 3600);
$total['N'] = floor($datediff / 60);
$datediff -= ($total['N'] * 60);
$total['S'] = $datediff;
echo $total['H'] ." Timer ". $total['N'] ." Min ". $total['S'] ." Sek ". $total['D'] ." Dag(e) ". $total['M'] ." Måned(er) ". $total['Y'] ." År";

Ikke helt pæn stil men det virker...
Avatar billede jakobdo Ekspert
20. maj 2007 - 18:56 #11
Ret : mktime(20, 54, 52, 7, 15, 2000);
til:
strtotime('1990-18-10 20:00:32')
Avatar billede jakobdo Ekspert
20. maj 2007 - 18:56 #12
Så kan du angive datoen i den streng du ønskede.
Avatar billede zurekk Nybegynder
20. maj 2007 - 19:20 #13
Det virkede black-eye, tak.

Tak til jakob for rettelsen.

Tak w13 for at forsøge af hjælpe mig.

Og sidst men ikke mindst, vil jeg gerne takke min mor for altid a....... ej.

Tak :D
Avatar billede w13 Novice
20. maj 2007 - 19:24 #14
:)
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