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

Öffnungszeiten Counter gesucht

mazcapone

Neues Mitglied
Hallo, ich suche für eine Webseite eine konfigurierbaren Öffnungszeiten Counter.
Dargestellt werden soll beispielsweise:

Wir haben noch 5 Stunden und 23 Minuten geöffnet !

Die aktuelle Zeit soll entweder vom NutzerPC oder vom Server genommen werden.
Samstag muss eine andere Zeit einstellbar sein.
Generell soll das Script, nachdem man den Code entsprechend der Öffnungszeiten (Zielzeiten) eingestellt hat,
selbstständig laufen., ohne das man jeden Tag neu konfigurieren muss.

Vielen Dank, für den der Rat weiß.
 
Mach das mit PHP. Frag mit time () die Zeit ab. Dann legst du einen Endpunkt fest. Gebe die zwischenzeit davon aus und dann hast du deine Öffnungszeiten.
 
Google mal nach "countdown javascript", dann findest Du jede Menge Scripts. Den Wochentag kannst Du mit der Funktion getDay() ermitteln:
SELFHTML: JavaScript / Objektreferenz / Date
Die Uhrzeit des Geschäftsschlusses in einem Array abspeichern und abhängig vom Wochentag ermitteln. Davon ausgehend dann den Zeitpunkt des Timerablaufs ermitteln.
 
hab hier folgendes code gefunden:

HTML:
<script type = "text/javascript">
function getSeconds() {var now = new Date();var time = now.getTime();  // time now in millisecondsvar midnight = new Date(now.getFullYear(),now.getMonth(),now.getDate(),0,0,0); // midnight 0000 hrs// midnight - change time hh,mm,ss to whatever time required, e.g. 7,50,0 (0750)var ft = midnight.getTime() + 86400000;  // add one dayvar diff = ft - time;  diff = parseInt(diff/1000);if (diff > 86400) {diff = diff - 86400}startTimer (diff);}

var timeInSecs;var ticker;
function startTimer(secs){timeInSecs = parseInt(secs);ticker = setInterval("tick()",1000); tick(); // to start counter display right away}
function tick() {var secs = timeInSecs;if (secs>0) {timeInSecs--;}else {clearInterval(ticker); // stop counting at zero//getSeconds();  // and start again if required}
var hours= Math.floor(secs/3600);secs %= 3600;var mins = Math.floor(secs/60);secs %= 60;var result = ((hours < 10 ) ? "0" : "" ) + hours + " hours " + ( (mins < 10) ? "0" : "" ) + mins                  + " minutes " + ( (secs < 10) ? "0" : "" );document.getElementById("countdown").innerHTML = "heute noch göffnet: " + result;}

</script>
</head>
<body onload = "getSeconds()">
<span id="countdown" style="font-weight: bold;"></span>
</body></html>

Jetzt zählt es schonmal mal von Mitternact herunter.
Oben vermute ich schon dass ich dort die Zielzeit anpassen kann, aber wo genau UND
Wie bekomme ich es mit einem Samstag und Sonntag hin ?

Danke!
 
Die mir am simpelsten erscheinende Lösungsmethode wäre folgende:
Du legst die eine Seite an (z.B. im Backend) in der man die Zeiten einstellen kann. Dazu nimmst du ein Zeitfeld für die Öffnung und eins für die Schließung pro Tag. Beim Speichern sendest du dann den Tag als String (varchar) (z.B. 'Mo' oder 'Montag'), die Startzeit (am Besten als time-wert (integer)) und die Endzeit (wie die Startzeit) an die Datenbank.

Für die Anzeige für den Seitenbesucher fragst du die aktuelle Zeit mit time() ab (hier bekommst du einen integer. Nun fragst du ab ob der Wert größer als die Startzeit des aktuellen Tages ist. Wenn nein rechnest du die Startzeit des aktuellen Tages minus die aktuelle Zeit und erhälst die Zeit die fehlt. Wenn ja prüfst du ob die aktuelle Zeit höher als die Schließzeit ist. Wenn nein rechnest du die Schließzeit des aktuellen Tages minus die aktuelle Zeit. Wenn ja rechnest du die Startzeit des nächsten Tages minus die aktuelle Zeit.

Umwandeln zwischen integer und timestamp kannst du mit strtotime().

Ich hoffe ich hab mich verständlich ausgedrückt und hab jetzt selbst keinen Denkfehler drin. Wenn doch wird mich aber sicher jemand korrigieren.

LG
 
So, ich habe die Javascript-Version mal erweitert:
Code:
<script type = "text/javascript">
[B]// Uhrzeit für Geschaeftsschluss hier eintragen
var geschaeftsschluss = new Array(
  "17:30",    // Sonntag
  "20:00",    // Montag
  "20:00",    // Dienstag
  "20:00",    // Mittwoch
  "20:00",    // Donnerstag
  "20:00",    // Freitag
  "18:30"     // Samstag
  );[/B]
function getSeconds() {
  var now = new Date();
  var time = now.getTime();  // time now in milliseconds
[B]  var wochentag = now.getDay();
  var gs = geschaeftsschluss[wochentag].split(":");[/B]
  var midnight = new Date (now.getFullYear(), now.getMonth(), now.getDate(), [B]gs[0], gs[1],[/B] 0); // midnight - change time hh,mm,ss to whatever time required, e.g. 7,50,0 (0750)
  var ft = midnight.getTime() + 86400000;  // add one dayvar
  diff = ft - time;
  diff = parseInt(diff/1000);
  if (diff > 86400) {diff = diff - 86400}
  startTimer (diff);
  }

var timeInSecs;
var ticker;

function startTimer(secs){
  timeInSecs = parseInt(secs);
  ticker = setInterval("tick()", 1000);
  tick(); // to start counter display right away
  }

function tick() {
  var secs = timeInSecs;
  if (secs>0) {timeInSecs--;}
  else
  {
    clearInterval(ticker); // stop counting at zero//
    getSeconds();  // and start again if required}
  }
  var hours= Math.floor(secs/3600);
  secs %= 3600;
  var mins = Math.floor(secs/60);
  secs %= 60;
  var result = ((hours < 10 ) ? "0" : "" ) + hours + " Stunden " + ( (mins < 10) ? "0" : "" ) + mins + " Minuten " + ( (secs < 10) ? "0" : "" );
  document.getElementById("countdown").innerHTML = "heute noch göffnet: " + result;
  }

</script>
Schau dir mal an, ob es so ausreichend ist.
 
Habe ich aber getestet und hat bei mir funktioniert. Ich habe nur den Javascript-Code gepostet. Wahrscheinlich hast Du bei der Integration einen Fehler gemacht. Hast Du auch das span-Tag auf deiner Seite?
HTML:
<span id="countdown" style="font-weight: bold;"></span>
Lade es mal hoch und poste die URL.
 
Zurück
Oben