Heutige Tag und bestimmte Tage formatieren lassen

Guri

Mitglied
Hallo Leute,
es geht um ein kleines Script, aber klapt nicht mit formatieren, durch googlen und foren kam ich nicht weiter,
vieleicht ist einfach, aber ich kriege nicht hin,

ich will mit disem Script heutigen Tag fett formetieren, und dann bestimmte Tage auch fett formatieren lassen, auch bestimmte Zeiten, alles eine nach dem anderen, hier:
Code:
<script>
var datum    = new Date();

var tag    = datum.getDay();
var heute    = datum.getDate();
var monat    = datum.getMonth();
var jahr    = datum.getFullYear();

var   tagName    = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
var monatName    = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var zeitName    = new Array("Vormittag", "Mittag", "Nachmittag");

var datum      = new Date(jahr, monat, 1);
var endeDatum    = new Date(1*jahr, 1*monat+1, 0);

while (datum <= endeDatum) {
   
   var heute = datum.getDate();
   heute = (heute < 10) ? '0'+ heute : heute;
   
   datumAusgabe =  tagName[datum.getDay()] +' '+ heute +' '+ monatName[datum.getMonth()] +' '+ jahr;
   
   document.write( "Datum: "+ datumAusgabe +"<br />" );
   
   datum.setDate(datum.getDate()+ 1);
}
</script>

dieses Script zeigt alle Tage von disem Monat,
als erstes ich will nur heutihgen Tag formatieren also Fett darstellen, ich dachte ist doch einfach mit ein if bedinung, so:

if (datum.getDate()== heute) {heute = "<b>"+ heute +"</b>";}

wenn ich setze oberhalb von whlie schleife tut nicht, aber wenn ich setze innerhal von while schleife, so:
Code:
<script>
var datum    = new Date();

var tag    = datum.getDay();
var heute    = datum.getDate();
var monat    = datum.getMonth();
var jahr    = datum.getFullYear();

var   tagName    = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
var monatName    = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var zeitName    = new Array("Vormittag", "Mittag", "Nachmittag");

var datum      = new Date(jahr, monat, 1);
var endeDatum    = new Date(1*jahr, 1*monat+1, 0);

while (datum <= endeDatum) {
   
   var heute = datum.getDate();
   heute = (heute < 10) ? '0'+ heute : heute;
   
   if (datum.getDate()== heute) {heute = "<b>"+ heute +"</b>";}
   
   datumAusgabe =  tagName[datum.getDay()] +' '+ heute +' '+ monatName[datum.getMonth()] +' '+ jahr;
   
   document.write( "Datum: "+ datumAusgabe +"<br />" );
   
   datum.setDate(datum.getDate()+ 1);
}
</script>

also werden alle Tage fett, aber ich will nur heutigen Tag fett formatieren lassen, meine Frage ist wie mache ich es,

ich bedanke mich im Voraus für jede Hilfe,

viele Grße Guri.
 
Hallo.

Mittlerweile versuche ich mich an deinem Problem. Jedoch ist dein Beispiel nicht besonders schön zu lesen. Bezogen auf die Variablenwiederholungen etc.

Edit:

http://hastebin.com/nenozitaka.coffee
--> Habe es so hinbekommen, dass der Monatstag angezeigt wird. Änderungen bezüglich dem Fettgedruckten müssten dann im if Teil geändert werden.
Funktionieren tuts ja zumindest;)

Mit freundlichen Grüßen

-Jack001
 
Zuletzt bearbeitet:
Hallo und vielen Dank, perfekt es funzioniert,
ich werde das Script erweitern, vieleicht krige ich hin von alleine wie habe ich mich vorgestellt, wenn nicht, dann melde ich mich wieder,

aber ich verstehe nicht, warum die variable: var i = 0; mit oder one es funkziormirt,

und wie mache ich das die datum zeigt: 01, 02, 03 stat 1, 2, 3
ich habe versucht mit:
if (heute < 10) { heute = '0'+ heute; } else { heute = heute; }

irgendwie klapt es nicht,

noch mal ich bedanke mich, und viele Grüße.
 
Hallo.

Bitte die Variable i nicht beachten. Kannst sie löschen. Diese stammt noch aus meinem Test. Ansich wird es doch mit 01 ausgegeben ? Siehe 2 if Anweisung.

Edit: Laut deinem fettgedruckten Beispieles (siehe obriger Beitrag) wäre das else meines Erachtens nicht von nöten.

Mfg -Jack001
 
Zuletzt bearbeitet:
Hallo,

alles ist OK wie habe ich mir vorgestellt, vielen Dank,
ich bastle weiter, mal sehen ob hin kriege von allein,

noch mal Danke und viele Grüße.
 
Hallo,
ich schafe es nicht von alleine, ich will erreichen: dass jede Montag, Mittwoch und Freitag fett erscheint und für Montag Vormitag fett, für Mittwoch Mittag fett und für Freitag Nachmittag fett,
für die Tage klappt es und bestimmt falsche code aber tut es, aber nicht für die Zeiten, habe ich das Array zeitName dahiter geklebt (gehengt), so:

Javascript:
var datum1     = new Date();
var tag     = datum1.getDay();
var heute     = datum1.getDate();
var monat     = datum1.getMonth();
var jahr     = datum1.getFullYear();
var tagName     = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
var monatName     = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var zeitName     = new Array("Vormittag", "Mittag", "Nachmittag");

var newdatum     = new Date(jahr, monat, 1);
var endedatum     = new Date(1*jahr, 1*monat+1, 0);

while(newdatum <= endedatum){
  
    var datumAusgabe;
  
    var newDate     = newdatum.getDate();
    if(newDate < 10){newDate = "0" + newDate;}  
  
    if (newDate == heute){
        datumAusgabe = tagName[newdatum.getDay()] + " " + "<strong>" + newDate + "</strong>" + " " + monatName[newdatum.getMonth()] + " " + jahr + " " + zeitName + "<br />"; 
    }
    else{
        datumAusgabe = tagName[newdatum.getDay()] + " " + newDate + " " + monatName[newdatum.getMonth()] + " " + jahr + " " + zeitName + " " + "<br />";
    }
    document.write("Datum:" + datumAusgabe);
  
    newdatum.setDate(newdatum.getDate()+1)
}

ich habe versucht mit Mittwoch zu erst, mit disem befehl:
if (datum1.getDate()== heute) {tagName[3] = "<strong>"+ tagName[3] +"</strong>",zeitName[1] = "<strong>"+ zeitName[1] +"</strong>";}
so:
Javascript:
var datum1     = new Date();
var tag     = datum1.getDay();
var heute     = datum1.getDate();
var monat     = datum1.getMonth();
var jahr     = datum1.getFullYear();
var tagName     = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
var monatName     = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var zeitName     = new Array("Vormittag", "Mittag", "Nachmittag");

var newdatum     = new Date(jahr, monat, 1);
var endedatum     = new Date(1*jahr, 1*monat+1, 0);

if (datum1.getDate()== heute) {tagName[3] = "<strong>"+ tagName[3] +"</strong>",zeitName[1] = "<strong>"+ zeitName[1] +"</strong>";}

while(newdatum <= endedatum){
  
    var datumAusgabe;
  
    var newDate     = newdatum.getDate();
    if(newDate < 10){newDate = "0" + newDate;}  
  
    if (newDate == heute){
        datumAusgabe = tagName[newdatum.getDay()] + " " + "<strong>" + newDate + "</strong>" + " " + monatName[newdatum.getMonth()] + " " + jahr + " " + zeitName + "<br />"; 
    }
    else{
        datumAusgabe = tagName[newdatum.getDay()] + " " + newDate + " " + monatName[newdatum.getMonth()] + " " + jahr + " " + zeitName + " " + "<br />";
    }
    document.write("Datum:" + datumAusgabe);
  
    newdatum.setDate(newdatum.getDate()+1)
}

also mit oberen Script klapt mit die Tage, aber nicht mit Zeit, stat nur Mittwochs Mittag fett zu zeigen, macht alle Tage Mittags fett,
kann es sein, nicht nur die falsche code ist, sonder ich versuche auch in die faltschen stelle,

ich will erreichen dass jede Mittwoch fett ist und jede Mittag fett aber nur Mittwochs,

wie immer kommt die frage wie mach ich es,

ich bedanke mich im Voraus für jede Hilfe und viele Grüße Guri.
 
Zurück