Autor |
Beitrag |
IhopeonlyReader
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Fr 31.05.13 12:21
Guten Tag,
ich würde gerne auf einer Seite die Uhrzeit (und ggf. das Datum) anzeigen lassen...
bis jetzt mach ich das so:
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 Christian S.: PHP- in HTML-Tags geändert
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Regan
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Sa 01.06.13 09: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):
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"> <?php echo date('y,n,j,G,i,s'); ?> </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
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Sa 01.06.13 13:40
Danke Regan,
die gesuchte Zeile war:
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.)
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
(Oder gibt's dafür auch irgendwelche "befehle"?)
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
jaenicke
Beiträge: 19288
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 02.06.13 07: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... (es sei denn du willst sie im Skript mal so und mal so formatieren oder damit weiterarbeiten)
Das liefert dir das gleiche direkt:
PHP-Quelltext 1:
| <?php echo date('d:m:Y, H:i:s'); ?> |
|
|
IhopeonlyReader
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: So 02.06.13 12: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
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Regan
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: So 02.06.13 12: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 Das würde dann so aussehen:
PHP-Quelltext 1:
| <?php echo date('Y,n,j,G,i,s'); ?> |
jaenicke hat folgendes geschrieben : | 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
Beiträge: 19288
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 02.06.13 13:22
Regan hat folgendes geschrieben : | 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
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Mo 03.06.13 19:04
|
|
|