# Uhrzeit anzeigen?



## felixb (31. August 2003)

Hallo,

ich hab versucht auf verschiedene arten ne Uhr zu machen. Sie sollte so aussehen:

Sonntag, 31.08.03  19:47:45

Dabei sollten sich die Zahlen bewegen!
ICh habs mit PHP versucht, doch da bewegen die sich net. Dann hab ich einen JavaScript code, der anscheinden dfehlerhaft ist.

Habt ihr vielleciht ein script was meinem fall entspricht?

mfg
felixb


----------



## Fabian H (31. August 2003)

Dazu gibts genug Scripte im Web.
Google mal. (wenn es irgendwann wieder gehen sollte)


----------



## felixb (31. August 2003)

Das hab ich scon gemacht, aber nichts gescheites gefunden. Deshalb melde ich mich hier!

Also, bitte helf mir!

mfg


----------



## Fabian H (31. August 2003)

Javascript uhr, uhrzeit anzeigen, uhr in javascript
usw usw.
Kann nicht sein, dass du nichts findest, ich hab selber letztens nen Haufen gefunden!

Ps: Die Zahlen bewegen sich nicht, sondern ändern sich!


----------



## Andreas Gaisbauer (31. August 2003)

Hallo,

selbst hier im Forum hatte wir das schon das ein oder andere mal, z.B. http://www.tutorials.de/forum/showthread.php?threadid=116729&highlight=uhrzeit



> Dann hab ich einen JavaScript code, der anscheinden dfehlerhaft ist


Poste halt mal deinen fehlerhaften Code, den können wir garantiert korrigieren...

bye


----------



## Andreas Gaisbauer (31. August 2003)

Weil gard Sonntag ist (und ich das File grad wieder am USB Stick gefunden hab):

```
<html>
<head>
<title>Standard Uhr</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">

function clock() {

//ZEIT
  var now = new Date();
  var hours = now.getHours();
  var minutes = now.getMinutes();
  var seconds = now.getSeconds(); 

  if(hours<10){
    hours = "0"+hours;
  }
  if(minutes<10){
    minutes = "0"+minutes;
  }
  if(seconds<10){
    seconds = "0"+seconds;
  }
  
  var timeString = ""+hours+":"+minutes+":"+seconds;
  uhr.innerHTML = timeString;

//DATUM
  var weekdays = new Array('So','Mo','Di','Mi','Do','Fr','Sa');

  var day = now.getDate();
  var weekday = now.getDay();  
  var month = now.getMonth();
  var year = now.getYear();

  if(day<10){
    day = "0"+day;
  }
  if(month<10){
    month = "0"+month;
  }
  
  var timeString = ""+hours+":"+minutes+":"+seconds;
  uhr.innerHTML = timeString;

  var dateString = ""+weekdays[weekday]+", "+day+"-"+month+"-"+year;
  datum.innerHTML = dateString;

window.setTimeout("clock();", 1000);
}

</script>
</head>
<body onLoad="clock()">

<span id="uhr" style="font-size:10pt; color:#000000;">uhr</span>
<span id="datum" style="font-size:10pt; color:#000000;">datum</span>
</body>
</html>
```

bye


----------



## felixb (31. August 2003)

Danke. Das hab ich gesucht.
@Andreas Gaisbauer:
da hab ich ja glück gehabt, das heute sonntag is 

mfg
felixb


----------



## Amun (16. Dezember 2003)

Hm ok ich suche auch ein Java Script für eine Uhr..
Das Problem ist allerdings, dass ich die Startwerte nicht mit getdate() auslesen will (weil das ja lokal vom Client ist) sondern übergeben möchte....

Ich hab versucht, das vorhandene Script an zu passen und habe Sekunden/Minuten/Stunden übergeben, aber dummerweise verändert sich die Zahlen nun nicht mehr :-(...
Gibt es eine Möglichkeit, eine Art Startwert zu generieren ?
Ich bin leider kein JavaScript Mensch, sondern eher php'ler


----------



## Sven Mintel (17. Dezember 2003)

Hi,  Arnun, könntst du so machen:

```
<html>
<head>
<title>Zeit</title>
<script type="text/javascript">
<!--
var server=<?php echo time()*1000 ?>;
var local=false;
function printClock()
{
now=new Date();
if(!local){local=now.getTime();}
stamp=eval(server+(now.getTime()-local));
now.setTime(stamp);
if(document.getElementById)
	{
	document.getElementById('zeit').innerHTML=now.toLocaleString();
	setTimeout("printClock()",1000);
	}
}
window.onload=printClock;
//-->
</script>
</head>
<body>
<span id="zeit">&nbsp;</span>
</body>
</html>
```
Falls dir der Ausgabestring nicht zusagt, musst du hinter "now.setTime(stamp);" das einsetzen, was beim Skript vom Andreas hinter "var now = new Date();" steht, da war ich zu faul zu :-(


----------



## DarkBart (4. Februar 2004)

Ich hab keine Ahnung von Javascript. Aber ich glaube bei Javascript wird doch die Zeit vom User angezeigt und nicht die vom Webserver? 


Gruß


----------



## aquasonic (4. Februar 2004)

Ja genau...


----------



## Amun (4. Februar 2004)

jo...das war auch mein problem...
aber danke dieser Zeile hier:

stamp=eval(server+(now.getTime()-local)); 


wird das mit der serverzeit abgeglichen...
kenne mich mit js auch net so aus, aber es läuft nun....danke noch mals ....


----------



## DarkBart (4. Februar 2004)

Meine Ahnung ist die, das ich weiß wie ich wie ich es einbinde mehr aber auch nicht. Wo muss ich diese Zeile einbinden?

Gruß


----------



## stonedjehova (26. Mai 2004)

das Script von Andreas funktioniert im Firefox/Mozilla nicht, hat jemand ne Ahnung was ich dort ändern muss?

edit: wenn ich das ganze mit document.getElementById('uhr').etc. ausgeben will, dann zeigt er die Uhrzeit nur statisch an. (im IE übrigens auch).


danke

mjf

s.j.


----------



## stonedjehova (1. Juni 2004)

folgendes script funktioniert nun im IE und im Mozilla/Firefox:

```
<html>
<head>
<title>Standard Uhr</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">

function clock() {

//ZEIT
  var now = new Date();
  var hours = now.getHours();
  var minutes = now.getMinutes();
  var seconds = now.getSeconds(); 

  if(hours<10){
    hours = "0"+hours;
  }
  if(minutes<10){
    minutes = "0"+minutes;
  }
  if(seconds<10){
    seconds = "0"+seconds;
  }
  
  var timeString = ""+hours+":"+minutes+":"+seconds;

//DATUM
  var weekdays = new Array('So','Mo','Di','Mi','Do','Fr','Sa');

  var day = now.getDate();
  var weekday = now.getDay();  
  var month = now.getMonth();
  var year = now.getYear();

  if(day<10){
    day = "0"+day;
  }
  if(month<10){
    month = "0"+month;
  }
  
  var timeString = ""+hours+":"+minutes+":"+seconds;
  window.document.getElementById("uhr").innerHTML= timeString;
  

  var dateString = ""+weekdays[weekday]+", "+day+"-"+month+"-"+year;
  window.document.getElementById("datum").innerHTML= dateString;

window.setTimeout("clock();", 1000);
}

</script>
</head>
<body onLoad="clock()">

<span id="uhr" style="font-size:10pt; color:#FF0000;">uhr</span>
<span id="datum" style="font-size:10pt; color:#FF0000;">datum</span>

</body>
</html>
```

mfg

s.j.


----------



## claudius (26. Juni 2004)

```
<HEAD>
<script type="text/javascript">
<!--
function uhr() {
 var jetzt = new Date();
 var h = jetzt.getHours();
 if (h<10) {
  h = "0"+h;
 }
 var min = jetzt.getMinutes();
 if (min<10) {
  min = "0"+min;
 }
 var sec = jetzt.getSeconds();
 if (sec<10) {
 sec = "0"+sec;
 }
 document.getElementById("uhr").innerText = h+':'+min+':'+sec;
}
//-->
</script>
</HEAD>
<BODY onload="window.setInterval('uhr()',1000); uhr()">
<p id="uhr">&nbsp;</p>
```


Nun ist ja das Problem, dass nur die aktuelle Client-Zeit ausgegeben wird. 
Wo muss ich die folgende Zeile einbauen, damit ein Abgleich mit der aktuellen Serverzeit erfolgt:
 stamp=eval(server+(now.getTime()-local)); 

Vielen Dank

Claudius


----------

