Willkommen zu Astrids Weblog

Zu den Kursen "Nutzung interaktiver Medien" und "Business and Internet"

NIM: Aufgabe 3 - Thema 3 - Javascript
In wievielen Tagen findet der letzte LVA Termin statt?
Klicke auf den Button "Countdown letzter LVA Termin" und Du erfährst in wievielen Tagen der letzte Termin des Kurses "Nutzung interaktiver Medien" im WS 2008 statt findet.




In wievielen Tagen ist Weihnachten?
Klicke auf den Button "Christkind" und Du erfährst in wievielen Tagen Weihanchten ist.



Einkaufstage bis Weihnachten
Drücke auf den Button "Einkaufstage bis Weihnachten" und Du erfährst an wievielen Tagen die Geschäfte vor Weihnachten noch geöffnet haben.




Umrechnung von Tagen in Minuten
Gib hier eine beliebige Anzahl an Tagen ein
Durch anklicken des Buttons "berechnen" erfährst Du wievielen Minuten die gewählte Anzahl an Tagen entspricht



Mein Code in JavaSkript zu den oben stehenden Funktionen:

function lastSession() {
heute = new Date()
msPerDay = 24 * 60 * 60 * 1000

ende = new Date("January 28, 2009")

tagebis = (ende.getTime() - heute.getTime()) / msPerDay;
tagebis = Math.round(tagebis)

alert("In " + tagebis + " Tagen findet der letzte Termin dieser Lehrveranstaltung statt!");
}


function translateDayToMinute(days) {
var minutes = (days) * 24 * 60;

alert(days + " Tage sind " + minutes + " Minuten.");
}



function christmas() {
heute = new Date()
msPerDay = 24 * 60 * 60 * 1000

ende = new Date("December 24, 2008")

tagebis = (ende.getTime() - heute.getTime()) / msPerDay;
tagebis = Math.round(tagebis)

alert("In " + tagebis + " Tagen ist Weihnachten!");
}


function shoppingDays() {
var heute = new Date()
var msPerDay = 24 * 60 * 60 * 1000

var ende = new Date("December 24, 2008")

var einkaufstage = ((ende.getTime() - heute.getTime())) / 7 * 6 / msPerDay;
var einkaufstage = Math.round(einkaufstage)


alert("Nur mehr " + einkaufstage + " Tage zum Einkaufen aller Weihnachtsgeschenke!");
}


function getWeekDay() {
var dd=24;
var mm=12;
var yyyy=2008;
// Referenztag ist Samstag, der 01.01.0001.
// Nun werden alle Tage bis zum Eingabe-Datum gezählt.
// Alle-Vergangenen-Tage modulo 7 ergibt dann eine Zahl
// zwischen 0 und 6, die einen Wochentag
// zwischen Samstag und Freitag repräsentiert.

// grobe Zählung: Ganze Jahre +
// Tage im aktuellen Monat + ganze Monate im aktuellen Jahr
var month = "312831303130313130313031";
var days = (yyyy-1)*365 + (dd-1);
for(var i=0;i<mm-1;i++) days += month.substr(i*2,2)*1;

// Kalenderreform: Sprung vom 04.10.1582 zum 15.10.1582
if(yyyy>1582 || yyyy==1582 && (mm>10 || mm==10 && dd >4)) days -= 10;

// Schaltjahre bis 1599: alle Jahre, die durch 4 teilbar sind.
// Ab 1600: alle Jahre, die durch 4 teilbar sind,
// außer den vollen Jahrhunderten,
// es sei denn, sie sind durch 400 teilbar.
var leapyears = Math.floor(yyyy / 4);
if(yyyy%4==0 && mm<3) leapyears--;
if(yyyy>=1600) {
leapyears -= Math.floor((yyyy-1600) / 100);
leapyears += Math.floor((yyyy-1600) / 400);
if(yyyy%100==0 && mm<3) {
leapyears++;
if(yyyy%400==0) leapyears--;
}
}
days += leapyears;

// Ergebnis anzeigen
var week = new Array("Samstag","Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag");
(week[days%7]+", "+ dd+"."+mm+"."+yyyy);


alert("Der 24. Dezember ist diesmal ein " + week[days%7] +"!
");
}

Kommentieren



Daniela.Wetzelhuetter.Uni-Linz, Montag, 10. November 2008, 14:05
Deine Umsetzung mit den Buttons gefällt mir sehr gut - sowie der letzte Code. Ich hab die Java-scripts zwar schon fertiggestellt... aber mal schauen, ob ich das auch so ähnlich hinbekommen könnte... Falls es da hilfreiche Tipps gibt ;-)
Meine Bespiele finden sich auch auf meiner Homepage.

Astrid.Horejs.Uni-Linz, Donnerstag, 13. November 2008, 10:24
Hallo!

Für die Berechnung der Wochentage habe ich mir auch Hilfe gesucht. Insbesondere da durch die Kalenderreform die Berechung nicht einfach ist. Die Seite JJAM kann ich übrigens sehr empfehlen. Sehr hilfreich wenn man mal nicht mehr weiter weiss.

Solltest Du noch weitere Fragen haben helfe ich Dir gerne!

lg