[php] udate - udate = tijd tussen berekennen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik heb een scritp gemaakt, en ik wil nu de tijd uit rekennen hoelang een bericht al gepost is.

Ik heb dus:
PHP:
1
$tijd = date("U"); // tijd van dit moment


De tijd die ik heb is:
PHP:
1
$toegevoegd = "1063551084"; //tijd wanneer bericht is toegevoegd


Nu wil ik dus dat die uitrekent hoeveel tussen die 2 tijden zit. En vervolgends zegt
Dit bericht is 2 dagen 4 uur en 23 minuten geleden gepost.

Hoe maak ik zo iets? Ik kom namelijk niet verder.

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
PHP:
1
2
3
4
5
$post = $toegevoegd;
$nu = date( 'U' );
$verschil = $nu - $post;
$verschil = date( 'h:i', $verschil );
print $verschil;

Zoiets?

Acties:
  • 0 Henk 'm!

  • jan-marten
  • Registratie: September 2000
  • Laatst online: 16-09 14:45
Gebruik liever de functie time(); om verschiltijden uit te rekenen.
Dan kun je zoiets doen:

$verschiltijd = time() - $opgeslagentijd;
$verschiltijd = date("U",$verschiltijd);

zoiets (je krijgt wel problemen als verschil > 24 uur maar dat mag je zelf ff oplossen) :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik dit gebruik:
PHP:
1
2
3
4
5
6
<?
$opgeslagentijd = "1063551084"; 
$verschiltijd = time() - $opgeslagentijd;
$verschiltijd = date("U",$verschiltijd);
echo"$verschiltijd";
?>

Krijg ik: 2626
Moet ik dit dan delen door 3600? om zo aan de tijd te komen?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
als ikd it doe krijg ik: 0.075027777777778. Hoe krijg ik hier dan weer een tijd voor aantal dagen en uren en minuten?

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

je hebt dan 2626 seconden verschil...
Dat is uiteraard (int)(2626 / 60) minuten en (2626 % 60) seconden. Maar evt kan je dat door date heen halen hoor, het voorbeeld op jan-marten's tweede regel is nogal zinloos omdat time() een unixtimestamp teruggeeft en date('U') dezelfde unixtimestamp teruggeeft als dat je er in stopt...

Btw, een integer in php hoef je niet met "' te omsluiten.
Pagina: 1