# Minuten hoch zählen PHP/Javascript



## xdica (5. April 2005)

Hallo Community,

ich suche seit Stunden nach einer Lösung, die vergangenen Minuten zu zählen.

Ich habe einen Unix-Timestamp der die Startzeit darstellt. Ab diesem Timestamp möchte ich die vergangene Zeit nur in Minuten zählen (also ohne tage, stunden etc.).

Der Startwert wird vorher aus einer Datenbank gelesen und steckt danach in einer PHP Variable z.B. $zeit_start

z.B.: Startzeit: 17:52 Uhr -> Vergangene Zeit: 5min.

Leider habe ich hier im Forum bisher nur Countdown Scripts gefunden. Das Script soll die Minuten automatisch aktualisieren ohne das die PHP Seite ständig aktualisiert werden muss.

Hat jemand vielleicht schon einmal so eine Lösung gefunden?

Vielen Dank für ein wenig Hilfe


----------



## Dennis Wronka (5. April 2005)

PHP kann nicht einfach so die Website aktualisieren, da es serverseitig laeuft.
PHP kann nur aktiv werden bevor die Seite an den Browser gesendet wird. Wenn sie einmal da angekommen ist hat PHP nichts mehr damit zu tun.
Dementsprechend wirst Du das wohl ueber eine clientseitige Programmiersprache wie JavaScript loesen mussen.
Da ich mir JS abgewoehnt hab kann ich Dir damit leider nicht helfen.


----------



## xdica (5. April 2005)

Ja, deshalb ja auch im Forum für Javascript. Ich habe auch schon die ganzen tollen Countdown Scripts gefunden aber ich habe nichts gefunden was ich anpassen könnte mit meinem Javascript wissen


----------



## Quaese (5. April 2005)

Hi,

ermittel die akutelle Zeit, indem du ein neues *Date*-Objekt erstellst. Von diesem kannst du mit
Hilfe der Methode *Date.parse()* einen Timestamp erstellen, musst ihn jedoch durch 1000
dividieren, um Übereinstimmung mit dem PHP-Timestamp zu erreichen.

Aus der Differenz von PHP-Timestamp und gerade ermittelten Timestamp kannst du die vergangenen 
Minuten berechnen. Nach Ablauf einer Minute rufst du das Script mit Hilfe der *setTimeout*-Methode
erneut auf.

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese" />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
  <!--
// Beispiel-Timestamp (ermittelt aus PHP-Funktion microtime())
var lngMicroStart = <?php echo("1112688023;"); ?>

function getTime(){
  // Aktuelle Zeit ermitteln
  var dateNow = new Date();
  // Timestamp der aktuellen Zeit generieren und anpassen
  var lngMicroNow = Math.floor(Date.parse(dateNow.toGMTString())/1000);

  // Vergangene Zeit seit Seitenaufruf ermitteln
  lngDiff = lngMicroNow - lngMicroStart;

  // Minuten, Sekunden ermitteln und formatieren
  lngMinuten = Math.floor(lngDiff/60);
  lngMinuten = (lngMinuten < 10) ? ("0"+lngMinuten) : lngMinuten;

  // Dauer ausgeben
  document.getElementById("timeID").innerHTML = lngMinuten + " min";

  // Dauer nach einer Minute erneut berechnen
  window.setTimeout("getTime()", 60000);
}
 //-->
</script>
</head>
<body onload="getTime();">
<div id="timeID"></div>
</body>
</html>
```
Vielleicht hilft dir das weiter.

Ciao
Quaese


----------

