• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Schreiben vor wie viel Minuten die News geschrieben wurde

Status
Für weitere Antworten geschlossen.

FleyerShaver

Neues Mitglied
Ich habe News auf meiner Seite. Die Zeit wird so gespeichert: 2007-07-01T17:05:00+02:00 Wie kann ich ausgeben vor wie viel MInuten die News geschgrieben wurde.
 
Speicher die Zeit als Timestamp und formatier sie beim ausgeben.
 
Ja das ist eindeutig die bessere Variante mit dem Timestamps.
Wenn du allerdings deine Datenbank nicht ändern willst versuch es mal so:
PHP:
<?php
$datum = "2007-07-01T17:05:00+02:00";
$jahr = substr($datum,0,4);
$monat = substr($datum,5,2);
$tag = substr($datum,8,2);
$stunde = substr($datum,11,2);
$minute = substr($datum,14,2);
$sekunde = substr($datum,17,2);
$zeitzone = substr($datum,19,1);
$zeitzone_stunde = substr($datum,20,2);
$zeitzone_minute = substr($datum,23,2);
$zeitzone_verschiebung = 0;
if($zeitzone == "+")
  $zeitzone_verschiebung += ($zeitzone_stunde*60*60 + $zeitzone_minute*60);
else
  $zeitzone_verschiebung -= ($zeitzone_stunde*60*60 + $zeitzone_minute*60);
$timestamp = mktime($stunde,$minute,$sekunde,$monat,$tag,$jahr);
$timestamp += $zeitzone_verschiebung;
$now = time();
$unterschied = round(($now-$timestamp)/60,0);
echo "Geschrieben vor ".$unterschied." Minuten";
?>
 
danke ich habs jetzt mit deinem Code ausprobiert und nun steht da: Geschrieben vor -84 Minuten
Die Datenbank sagt das die News um 2007-07-01T17:46:00+02:00 geschrieben wurde.
 
jo hab was mit der zeitzone falsch gemacht.
Schließlich steht sie nur im Timestamp drin als Info und muss nicht mehr verrechnet werden.
Also kannst den Teil mit der Zeitzone weglassen
PHP:
<?php
$datum = "2007-07-01T17:05:00+02:00";
$jahr = substr($datum,0,4);
$monat = substr($datum,5,2);
$tag = substr($datum,8,2);
$stunde = substr($datum,11,2);
$minute = substr($datum,14,2);
$sekunde = substr($datum,17,2);
$timestamp = mktime($stunde,$minute,$sekunde,$monat,$tag,$jahr);
$now = time();
$unterschied = round(($now-$timestamp)/60,0);
echo "Geschrieben vor ".$unterschied." Minuten";
?>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben