Autor Beitrag
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Fr 31.05.13 13:21 
Guten Tag,
ich würde gerne auf einer Seite die Uhrzeit (und ggf. das Datum) anzeigen lassen...
bis jetzt mach ich das so:
ausblenden volle Höhe HTML-Dokument
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
<html>
<head>
<script language="JavaScript">
<!--
var Serverzeit = new Date("2013 May 31 13:04:11");
function UhrzeitAnzeigen()
{

  if(!document.all && !document.getElementById)
  {
    return;
  }
  
  var Stunden = Serverzeit.getHours();
  var Minuten = Serverzeit.getMinutes();
  var Sekunden = Serverzeit.getSeconds();
  Serverzeit.setSeconds(Sekunden+1);
     
  if(Stunden<=9)
  {
    Stunden = "0" + Stunden;
  }
  if(Minuten<=9)
  {
    Minuten = "0" + Minuten;
  }
  if(Sekunden<=9)
  {
    Sekunden = "0" + Sekunden;
  }
  Uhrzeitanzeige = Stunden + ":" + Minuten + ":" + Sekunden;
  if(document.getElementById)
  {
    document.getElementById("Uhrzeit").innerHTML = Uhrzeitanzeige
  }
  else if(document.all)
  {
    Uhrzeit.innerHTML = Uhrzeitanzeige;
  }
  setTimeout("UhrzeitAnzeigen()"1000);
}
//-->
</script>

<title>Uhrzeit</title>
</head>
<body onLoad="UhrzeitAnzeigen();">          
<span id="Uhrzeit"></span>
</body>
</html>

Nur leider muss ich hier immer oben das "aktuelle" Datum einfügen :/
gibt es eine Möglichkeit, dass der Server das sozusagen selbst ausführt und sobald ein User das aufruft, dass der Server die Uhrzeit von der Seite (die er selbst aufgerufen hat) in die PHP-seite des users schreibt?

P.S: ich habe keine Ahnung von PHP ;), das ganze soll nur zur Vereinheitlichung von einem Delphi-Programm dienen ;)

Moderiert von user profile iconChristian S.: PHP- in HTML-Tags geändert

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Sa 01.06.13 10:29 
Moin,

ja, das geht. Du verwendest die Funktion [url=php.net/manual/en/function.date.php]date[/url]. Der optimierte Code sollte so funktionieren (ungetestet):
ausblenden volle Höhe HTML-Dokument
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
<html>
<head>
<script type="text/javascript">
<!--
var Serverzeit = new Date(
<?php echo date('y,n,j,G,i,s'); ?>);
function UhrzeitAnzeigen()
{

  if(!document.all && !document.getElementById)
  {
    return;
  }
  Uhrzeitanzeige = 
Serverzeit.format("hh:mm:ss");
  if(document.getElementById)
  {
    document.getElementById("Uhrzeit").innerHTML = Uhrzeitanzeige;
  }
  else if(document.all)
  {
    Uhrzeit.innerHTML = Uhrzeitanzeige;
  }
  setTimeout("UhrzeitAnzeigen()", 1000);
}
//-->

</script>
<title>Uhrzeit</title>
</head>
<body onLoad="UhrzeitAnzeigen();">          
<span id="Uhrzeit"></span>
</body>
</html>


Das Format für die format-Funktion findest du hier.

Viele Grüße
Regan
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Sa 01.06.13 14:40 
Danke Regan,
die gesuchte Zeile war:
ausblenden HTML-Dokument
1:
var Serverzeit = New Date(<?php echo date('y,n,j,G,i,s'); ?>);					

Deine Code funktioniert bei mir nicht :(
aber die "gesuchte Zeile" in mein Code eingebaut funktioniert wunderbar, so sieht es dann aus: (Diesmal auch mit Jahr etc.)
ausblenden volle Höhe HTML-Dokument
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
<html>
<head>
<script language="JavaScript">
<!--
var Serverzeit = new Date(<?php echo date('y,n,j,G,i,s'); ?>);
function UhrzeitAnzeigen()
{

  if(!document.all && !document.getElementById)
  {
    return;
  }

  var Jahr = Serverzeit.getYear();
  var Monat = Serverzeit.getMonth();
  var Tag = Serverzeit.getDate();
  var Stunden = Serverzeit.getHours();
  var Minuten = Serverzeit.getMinutes();
  var Sekunden = Serverzeit.getSeconds();
  Serverzeit.setSeconds(Sekunden+1);
     
  if(Stunden<=9)
  {
    Stunden = "0" + Stunden;
  }
  if(Minuten<=9)
  {
    Minuten = "0" + Minuten;
  }
  if(Sekunden<=9)
  {
    Sekunden = "0" + Sekunden;
  }
  if(Tag<=9)
  {
    Tag = "0" + Tag;
  }
  if(Monat<=9)
  {
    Monat = "0" + Monat;
  }
  Uhrzeitanzeige = Tag + "." + Monat + "." + (Jahr+2000) + ", " + Stunden + ":" + Minuten + ":" + Sekunden;
  if(document.getElementById)
  {
    document.getElementById("Uhrzeit").innerHTML = Uhrzeitanzeige
  }
  else if(document.all)
  {
    Uhrzeit.innerHTML = Uhrzeitanzeige;
  }
  setTimeout("UhrzeitAnzeigen()"1000);
}
//-->
</script>

<title>Uhrzeit</title>
</head>
<body onLoad="UhrzeitAnzeigen();">          
<span id="Uhrzeit"></span>
</body>
</html>

P.S: ich muss halt nur alle Hundert Jahre das Jahr + 100 mehr nehmen, da das Jahr nur bis 99 angegeben wird, danach springt es wieder auf 0 ...
ob ich es auf (Jahr+2100) je ändern muss weiß ja wohl niemand, aber ich hoffe dass ich solange lebe :D
(Oder gibt's dafür auch irgendwelche "befehle"?)

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 02.06.13 08:56 
Es gibt auch getFullYear als Javascript Funktion.

Das ist allerdings Blödsinn erst das Datum in einer Form zu formatieren, die dir nicht gefällt und dann die Bestandteile zu trennen und selbst zusammenzubasteln... :shock: (es sei denn du willst sie im Skript mal so und mal so formatieren oder damit weiterarbeiten)

Das liefert dir das gleiche direkt:
ausblenden PHP-Quelltext
1:
<?php echo date('d:m:Y, H:i:s'); ?>					
IhopeonlyReader Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: So 02.06.13 13:23 
ok, ich werde die Function QuellcodeToDateTimeS so umbauen, dass es ein Array of String zurückliefert.. im jedem String steht jedes gefundene Datum ;)
QuellcodeToDateTime liefert entsprechend ein Array of TDateTime;
Es wird dann nach folgenden Formaten gesucht:
Zitat:

'dd.mm.yyyy hh:nn:ss'
'dd.mm.yy hh:nn:ss'
'yyyy-mm-dd hh:nn:ss'
'yy-mm-dd hh:nn:ss'
(alle m,d,h,n,s auch einzeln (falls z.B. 03 als 3 angezeigt wird)
sowie die Teile einzeln also, falls als "Format" auch nur ein TeilFormat angefordert wurde
(falls z.B. 'dd.mm.yyyy hh:nn:ss' als Format angefordert wird, wird nicht nach 'hh:nn:ss' etc. gesucht)


.. dass wäre eine gute Übung ;)

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: So 02.06.13 13:37 
Hast du dir die Dokumentation für die Funktion durchgelesen? Sicherlich nicht, dann wüsstest du, dass du einfach ein Y für ein vierstelliges Datum verwenden könntest. Ich kann dir das lesen nicht abnehmen :nixweiss: Das würde dann so aussehen:
ausblenden PHP-Quelltext
1:
<?php echo date('Y,n,j,G,i,s'); ?>					


user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden PHP-Quelltext
1:
<?php echo date('d:m:Y, H:i:s'); ?>					

Das Problem hierbei: unterstützen das alle Browser? Ich konnte nur eine Dokumentation für Firefox finden, von der ich das letzte Format ausgewählt habe.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 02.06.13 14:22 
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Das Problem hierbei: unterstützen das alle Browser?
Das hat nichts mit dem Browser zu tun. Das Datum wird mit dem Code fertig formatiert vom Server geliefert.
JavaScript kann es im Browser leider in der Tat nicht von Hause aus formatieren, da braucht man Plugins, die es z.B. für jQuery für den Zweck gibt.
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mo 03.06.13 20:04 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Das Problem hierbei: unterstützen das alle Browser?
Das hat nichts mit dem Browser zu tun.

Doch. Die format-Funktion von Date wurde über die Jahre angepasst. Vielleicht unterstützt nicht jeder Browser die neuste 1.5.3-Javascript-Version.