Textausgabe nach Tageszeit Minutengenau
Pasi
- javascript
0 Hopsel0 sinterklaas0 Pasi0 Pasi1 Hopsel0 Pasi0 ChrisB0 EKKi- meinung
0 EKKi0 Pasi
0 Sinterklaas0 Pasi
Hi, ich habe folgendes Script, möchte aber Minutengenau die Zeiten Definieren:
Ich möchte von 17:30 bis 1 Uhr geöffnet haben und von 1 bis 17:30 Uhr geschlossen. Was muss ich dazuschreiben, damit es klappt?
var curDateTime = new Date();
var curHour = curDateTime.getHours();
var curMin = curDateTime.getMinutes();
var curTime =
((curHour < 10) ? "0" : "") + curHour + "."
+ ((curMin < 10) ? "0" : "") + curMin + " Uhr: "
document.write(curTime);
if((curHour >=01) && (curHour <=17)){ document.write(' <span id="soldtext">geschlossen</span>') }
if((curHour >=17) && (curHour <=23)){ document.write(' <span id="availabletext">geöffnet</span>') }
if((curHour >=0) && (curHour <=01)){ document.write(' <span id="availabletext">geöffnet</span>') };
LG Pasi
Hi Pasi!
Ich möchte von 17:30 bis 1 Uhr geöffnet haben und von 1 bis 17:30 Uhr geschlossen. Was muss ich dazuschreiben, damit es klappt?
Im Prinzip das Gleiche, das du serverseitig bereits realisiert hast.
MfG H☼psel
Hi, Hopsel!
Im Prinzip das Gleiche, das du serverseitig bereits realisiert hast.
Ah, sehr detailliert beschrieben! ;-) Ich habe von JavaScript nich so die Ahnung! Deshalb weiß ich auch nicht WAS da noch dazu gehört.
LG Pasi
Ich habe von JavaScript nich so die Ahnung!
von welchen deiner 10 zeilen hast du denn eine ahnung? ist "nich so die ahnung" 5 zeilen, 7 oder doch nur 3?
analysiere dein javascript von oben nach unten (javascript ist eine prozedurale, prototypenbasierende sprache) und vergleiche in jedem schritt ob das produzierte dem gewünschten entspricht - wenn eine abweichung auftritt, prüfe anhand der dokumentation (auch selfhtml hat hierzu eine) der entsprechenden funktion/methode, was sie bewirkt
wenn sich da schwierigkeiten auftun, stelle konkrete fragen
Super! Ich hab jetzt einfach irgendwas geschrieben, weil ich ja nicht weiß wies geht und mir nicht wirklich jemand helfen will. Falls doch, das hab ich jetzt daraus gemacht, nur, dass jetzt garnichts mehr ausgegeben wird:
<script type="text/javascript"><!--
var curDateTime = new Date();
var curHour = curDateTime.getHours();
var curMin = curDateTime.getMinutes();
var curSec = curDateTime.getSeconds();
var curTime =
((curHour < 10) ? "0" : "") + curHour + "."
+ ((curMin < 10) ? "0" : "") + curMin + " Uhr: "
document.write(curTime);
var curA = curHour + "." + curMin;
if((curA >=01.00) && (curA <=17.29)){ document.write(' <span id="soldtext">Theaterlokal geschlossen</span>.') };
if((curA >=17.30) && (curA <=23.59)){ document.write(' <span id="availabletext">Theaterlokal geöffnet</span>.') };
//-->
</script>
Hi,
Super! Ich hab jetzt einfach irgendwas geschrieben, weil ich ja nicht weiß wies geht und mir nicht wirklich jemand helfen will.
Schon wieder bist du am rumjammern ...
Wie waer's denn, wenn du dich stattdessen mit den Techniken, die du einsetzen willst, mal zumindest so weit beschaeftigst, dass du mit diesen auch grundlegend umgehen kannst?
Mit deiner staendigen Jammerei darueber, dass die Hilfe hier nicht dem entspricht, was du dir vorstellst, kommst du jedenfalls nicht sehr viel weiter.
MfG ChrisB
Mahlzeit Pasi,
Falls doch, das hab ich jetzt daraus gemacht,
Wetten, dass DU das nicht hast?
nur, dass jetzt garnichts mehr ausgegeben wird:
Wie lautet Dein konkretes Problem?
MfG,
EKKi
function opened () {
with (new Date()) {
var curHour = getHours();
var curMin = getMinutes();
var monat = getMonth();
var tag = getDate();
var jahr = getFullYear();
var jetzt = getTime();
}
var zeit = ((curHour < 10) ? "0" : "") + curHour + "." + ((curMin < 10) ? "0" : "") + curMin + " Uhr: ";
var status = ((new Date(jahr,monat,tag,1,0,0)).getTime() < jetzt && (new Date(jahr,monat,tag,17,30,0)).getTime() > jetzt) ? "geschlossen" : "geöffnet";
return zeit+status;
}
document.write(opened());
function opened () {
with (new Date()) {
var curHour = getHours();
var curMin = getMinutes();
var monat = getMonth();
var tag = getDate();
var jahr = getFullYear();
var jetzt = getTime();
}
var zeit = ((curHour < 10) ? "0" : "") + curHour + "." + ((curMin < 10) ? "0" : "") + curMin + " Uhr: ";
var status = ((new Date(jahr,monat,tag,1,0,0)).getTime() < jetzt && (new Date(jahr,monat,tag,17,30,0)).getTime() > jetzt) ? "geschlossen" : "geöffnet";
return zeit+status;
}
document.write(opened());
Hey cool, danke! Funktioniert super!
Kann man da zufällig noch Montag bis Samstag mit einbauen? Sorry, ist mir gerade erst eigefallen.
Ich hab mal so angefangen, aber weiter komme ich nicht:
~~~javascript
function opened () {
with (new Date()) {
var curHour = getHours();
var curMin = getMinutes();
var monat = getMonth();
var tag = getDate();
var wochentag = getDay() +1;
if(wochentag==1) wochentag = "Sonntag";
if(wochentag==2) wochentag = "Montag";
if(wochentag==3) wochentag = "Dienstag";
if(wochentag==4) wochentag = "Mittwoch";
if(wochentag==5) wochentag = "Donnerstag";
if(wochentag==6) wochentag = "Freitag";
if(wochentag==7) wochentag = "Samstag";
var jahr = getFullYear();
var jetzt = getTime();
}
var zeit = ((curHour < 10) ? "0" : "") + curHour + "." + ((curMin < 10) ? "0" : "") + curMin + " Uhr: ";
var status = ((new Date(jahr,monat,tag,wochentag,1,0,0)).getTime() < jetzt && (new Date(jahr,monat,tag,17,30,0)).getTime() > jetzt) ? "<span id='soldtext'>Hotline geschlossen</span>" : "<span id='availabletext'>Hotline geöffnet</span>";
return zeit+status;
}
document.write(opened());
LG Pasi
Bzw. bin ich mittlerweile so weit:
<!--
function opened () {
with (new Date()) {
var curHour = getHours();
var curMin = getMinutes();
var monat = getMonth();
var tag = getDate();
var wochentag = getDay() +1;
if(wochentag==1) wochentag = "Sonntag";
if(wochentag==2) wochentag = "Montag";
if(wochentag==3) wochentag = "Dienstag";
if(wochentag==4) wochentag = "Mittwoch";
if(wochentag==5) wochentag = "Donnerstag";
if(wochentag==6) wochentag = "Freitag";
if(wochentag==7) wochentag = "Samstag";
var jahr = getFullYear();
var jetzt = getTime();
}
var zeit = (( + wochentag + "," + ((curHour < 10) ? "0" : "") + curHour + "." + ((curMin < 10) ? "0" : "") + curMin + " Uhr: ";
var status = ((new Date(jahr,monat,tag,Montag,1,0,0)).getTime() < jetzt && (new Date(jahr,monat,tag,17,30,0)).getTime() > jetzt) ? "<span id='soldtext'>Hotline geschlossen</span>" : "<span id='availabletext'>Hotline geöffnet</span>";
return zeit+status;
}
document.write(opened());
-->
LG Pasi
Hi Pasi!
Kann man da zufällig noch Montag bis Samstag mit einbauen?
Supi, du hast mir mein Haus gebaut. Kannst du nicht auch noch die Inneneinrichtung kaufen?
Sorry, ist mir gerade erst eigefallen.
Das mit der Inneneinrichtung hab´ ich voll verplant. Ich dachte sowieso nicht, dass mir jemand das Haus fertig baut.
Klar, diese Analogie trifft´s nicht, aber das Wesentliche wird klar.
Ist es denn dermaßen schwer, sich ein bisschen mit der Materie zu beschäftigen?
Du magst mit der Lösung vorerst zufrieden sein, aber in einer Woche (Monat, Jahr, eigentlich egal) kommst du wieder und hast ein ähnlich gelagertes Problem, dass du inzwischen viel effizienter durch eigenes Geschick und mit Freude am Basteln lösen könntest.
Ich habe gar nichts dagegen, dass du jetzt die Lösung bekommen hast. Es freut dich wahrscheinlich auch sehr. Aber verstehst du denn nicht, dass dir eine Hilfestellung der ziel_führenden_ Art wesentlich mehr bringen würde?
Ein Dialog, wie du ihn im Selfhtml-Forum bekommst, bringt dir unendlich mal mehr, weil du Schritt für Schritt an eine Denkweise herangeführt wirst, die dich nicht nur im speziellen Problemfall, sondern während deine gesamten Programmierlaufbahn unterstützen wird.
Wenn du ein Kind hast, dass Fahrradfahren lernen möchte, wirst du ihm auch nicht bis zur achten Klasse Stützräder unterjubeln. Spätestens mit zehn Jahren wird es die Dinger abreißen, weil es ausgelacht wird und fürchterlich stürzen. Vielleicht gibt es das Fahrradfahren sogar ganz auf. Dabei hättest du es langsam und sicher auf dem Weg zum sicheren Fahren begleiten können.
Verstehst du mein Anliegen?
Raff´ dich auf und beantworte Fragen oder Sätze wie ich sie gestellt habe mit Hilfe von 20 Minuten Nachdenken. Wenn du nicht weiterkommst, frage nach. Aber niemals nie nie (!!!true) darfst du glauben, dass vorgefertigte Lösungen, so schön sie auch sind, dir langfristig helfen.
MfG H☼psel
Ich habe gar nichts dagegen, dass du jetzt die Lösung bekommen hast. Es freut dich wahrscheinlich auch sehr. Aber verstehst du denn nicht, dass dir eine Hilfestellung der ziel_führenden_ Art wesentlich mehr bringen würde?
Doch, verstehe ich, aber meistens bekomme ich so ... Kommentare. Das stört mich dann schon, weil ich genau weiß, dass ich schon daran saß und es versucht habe und einfach nicht verstehe, wozu diese ganzen klammern und Plus' und Fragezeichen gut sind.
Wenn du ein Kind hast, dass Fahrradfahren lernen möchte, wirst du ihm auch nicht bis zur achten Klasse Stützräder unterjubeln. Spätestens mit zehn Jahren wird es die Dinger abreißen, weil es ausgelacht wird und fürchterlich stürzen. Vielleicht gibt es das Fahrradfahren sogar ganz auf. Dabei hättest du es langsam und sicher auf dem Weg zum sicheren Fahren begleiten können.
Verstehst du mein Anliegen?
Ja, verstehe ich, aber ich sitze hier an meinem PC vor diesem Script und gucks mir an und die ganzen Fragezeichen und so weiter drücken genau meine Ahnung davon aus. Nämlich: "?". Klar, dass ich durch vorgefertigte Scripts nichts lerne, wenn ich sie einfach nur einbaue!
Raff´ dich auf und beantworte Fragen oder Sätze wie ich sie gestellt habe mit Hilfe von 20 Minuten Nachdenken. Wenn du nicht weiterkommst, frage nach. Aber niemals nie nie (!!!true) darfst du glauben, dass vorgefertigte Lösungen, so schön sie auch sind, dir langfristig helfen.
Wie ich schonmal gesagt habe, würde ich hier nichts fragen, wenn ich nicht schon länger als 20 Minuten drüber nachgedacht hätte.
LG Pasi
Hi,
Doch, verstehe ich, aber meistens bekomme ich so ... Kommentare. Das stört mich dann schon, weil ich genau weiß, dass ich schon daran saß und es versucht habe und einfach nicht verstehe, wozu diese ganzen klammern und Plus' und Fragezeichen gut sind.
Dann beschaeftige dich mit den Grundlagen der Syntax.
Wie ich schonmal gesagt habe, würde ich hier nichts fragen, wenn ich nicht schon länger als 20 Minuten drüber nachgedacht hätte.
Es dauert vielleicht ein wenig laenger, sich mit den Grundlagen einer Sprache vertraut zu machen.
Wenn du das aber erst mal machen wuerdest, braeuchtest du hier auch weniger Fragen stellen.
MfG ChrisB
Mahlzeit Pasi,
Das stört mich dann schon, weil ich genau weiß, dass ich schon daran saß und es versucht habe und einfach nicht verstehe, wozu diese ganzen klammern und Plus' und Fragezeichen gut sind.
Aber woher kommen diese ganzen Zeichen, die Du nicht verstehst? Sicher nicht von selbst geschrieben Skripten - denn das kannst Du ja nicht (wie Du gesagt hast). Also doch von irgendwoher kopierten ... und das ist nicht sinnvoll, wenn man die Grundlagen einer Sprache lernen will.
Also fang doch endlich mal an, das Problem, das Du hast und das Du lösen willst, selbst logisch zu abstrahieren, einen einfachen und in Umgangssprache ausgedrückten "Programmablaufplan" zu erstellen und diesen dann mit Hilfe der Dokumentation und dieses Forums in Javascript-Code zu übersetzen. Niemand wird Dir hier seine Hilfe verweigern, wenn Du die Bereitschaft zeigst, Dich ernsthaft mit Deinem Problem zu beschäftigen. Leute, die nur rumjammern, nach Code quäken, aber nicht mal willens oder in der Lage sind, ihr Problem so zu beschreiben, dass ihre Leser es ansatzweise verstehen, sind hier aber nicht gern gesehen.
Ja, verstehe ich, aber ich sitze hier an meinem PC vor diesem Script und gucks mir an und die ganzen Fragezeichen und so weiter drücken genau meine Ahnung davon aus. Nämlich: "?". Klar, dass ich durch vorgefertigte Scripts nichts lerne, wenn ich sie einfach nur einbaue!
Dann lass sie doch endlich mal weg ... und bau Dir Deine Skripte selbst - Unterstützung kannst Du dabei hier in erheblichem Maße bekommen.
Wie ich schonmal gesagt habe, würde ich hier nichts fragen, wenn ich nicht schon länger als 20 Minuten drüber nachgedacht hätte.
Ja und? Vielleicht bringt nur Nachdenken eben nicht so viel - vielleicht wäre es stattdessen sinnvoller, die Grundlagen von Javascript anhand von selbst gestrickten Beispielen kennenzulernen? Vielleicht wäre es sinnvoller, sich in entsprechenden Dokumentationen und Nachschlagewerken, wie bestimmte Konstrukte und Funktionen arbeiten, anstatt sie nur anzustarren?
MfG,
EKKi
Mahlzeit Pasi,
Kann man da zufällig noch Montag bis Samstag mit einbauen?
Ja.
var wochentag = getDay() +1;
if(wochentag==1) wochentag = "Sonntag";
if(wochentag==2) wochentag = "Montag";
if(wochentag==3) wochentag = "Dienstag";
if(wochentag==4) wochentag = "Mittwoch";
if(wochentag==5) wochentag = "Donnerstag";
if(wochentag==6) wochentag = "Freitag";
if(wochentag==7) wochentag = "Samstag";
Schonmal was von http://de.selfhtml.org/javascript/objekte/array.htm@title=Arrays gehört?
MfG,
EKKi
...
var wochentag = getDay() +1;
if(wochentag==1) wochentag = "Sonntag";
if(wochentag==2) wochentag = "Montag";
if(wochentag==3) wochentag = "Dienstag";
if(wochentag==4) wochentag = "Mittwoch";
if(wochentag==5) wochentag = "Donnerstag";
if(wochentag==6) wochentag = "Freitag";
if(wochentag==7) wochentag = "Samstag";
...
wenn du dich über Arrays kundig gemacht hättest könntest du das abkürzen zu:
var wochentag = ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"][getDay()];
Hi,
wenn du dich über Arrays kundig gemacht hättest könntest du das abkürzen zu:
var wochentag = ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"][getDay()];
Okay, das ist jetzt mit im Script:
function opened () {
with (new Date()) {
var curHour = getHours();
var curMin = getMinutes();
var wochentag = ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"][getDay()];
var tag = getDate();
var monat = getMonth();
var jahr = getFullYear();
var jetzt = getTime();
}
var status = ((new Date(jahr,monat,tag,1,0,0)).getTime() < jetzt && (new Date(jahr,monat,tag,17,30,0)).getTime() > jetzt) ? "Lokal <span id='soldtext' style='color:#ff0000;'>geschlossen</span> bis 17.30 Uhr" : "Lokal <span id='availabletext' style='color:#4cff00;'>geöffnet</span><br>bis 01.00 Uhr)";
return status;
}
document.write(opened());
Mein Problem ist jetzt, wo ich hier [((new Date(jahr,monat,tag,1,0,0)).getTime() < jetzt] den Wochentag unterbringen muss und wie ich zum Beispiel Montag bis Donnerstag und Sonntag (also mehrmals die Woche) reinbringen kann.
LG Pasi
Mein Problem ist jetzt, wo ich hier [((new Date(jahr,monat,tag,1,0,0)).getTime() < jetzt] den Wochentag unterbringen muss und wie ich zum Beispiel Montag bis Donnerstag und Sonntag (also mehrmals die Woche) reinbringen kann.
sorry, nur 2 Geschenke vom Sinterklaas.
Außerdem habe ich den Verdacht, dass du dich nochmal hinsetzen musst um eine einfache Konzeptbeschreibung deiner Funktion zu Papier zu bringen, danach solltest du dir in aller Ruhe überlegen, ob sich das überhaupt mit dem bisherigen Code machen lässt, oder ob ein Neuanfang nicht doch sinnvoler ist.
Übrigens: hier hättest du dich schon mal mit getFullYear() beschäftigen können.