webdino
Mitglied
Registriert: 09.05.2008
Beiträge: 1
|
|
Ich habe folgenden Code: Hier möchte ich mir jetzt aber die Eingabe von ... Tagen danach sparen und stattdessen nur prüfen ob es > 30 Tage von heute ist.
Kann mir jemand sagen wie ich statt des angegebenen Datums das heutige Datum da reinbekomme als referenz
und das Datum was ich eingegeben habe dann als Ziel rechne.
-> eingeg. Datum - heute = ??? > 30 dann alert sonst ok
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<SCRIPT language="JavaScript1.1">
var scrll = "An welchem Wochentag bin ich geboren? Wieviele Sekunden bin ich alt? Wann war Ostern im Jahr 1254? " +
"Wann werde ich 2000 Wochen alt? Wieviele Sekunden hat ein Jahr? Wann ist Pfingsten im Jahr 2010? ";
var scrtxt = "" + scrll + scrll;
var breite = 120;
var stelle = -1;
var jh1meld = true;
MonatsTage= new Array();
MonatsTage[1]= 31; MonatsTage[2]= 28; MonatsTage[3]= 31;
MonatsTage[4]= 30; MonatsTage[5]= 31; MonatsTage[6]= 30;
MonatsTage[7]= 31; MonatsTage[8]= 31; MonatsTage[9]= 30;
MonatsTage[10]= 31; MonatsTage[11]= 30; MonatsTage[12]= 31;
WochenTag= new Array(); WochenTag[0]= "Sonntag";
WochenTag[1]= "Montag"; WochenTag[2]= "Dienstag"; WochenTag[3]= "Mittwoch";
WochenTag[4]= "Donnerstag"; WochenTag[5]= "Freitag"; WochenTag[6]= "Samstag";
MonatsName= new Array();
MonatsName[1]= "Januar"; MonatsName[2]= "Februar"; MonatsName[3]= "März";
MonatsName[4]= "April"; MonatsName[5]= "Mai"; MonatsName[6]= "Juni";
MonatsName[7]= "Juli"; MonatsName[8]= "August"; MonatsName[9]= "September";
MonatsName[10]= "Oktober"; MonatsName[11]= "November"; MonatsName[12]= "Dezember";
jhunm= new Array(); jhunn= new Array();
jhunm[0]= 22; jhunn[0]= 2;
jhunm[1]= 22; jhunn[1]= 2;
jhunm[2]= 23; jhunn[2]= 3;
jhunm[3]= 23; jhunn[3]= 4;
jhunm[4]= 24; jhunn[4]= 5;
jhunm[5]= 24; jhunn[5]= 5;
jhunm[6]= 24; jhunn[6]= 6;
jhunm[7]= 25; jhunn[7]= 0;
jhunm[8]= 26; jhunn[8]= 1;
jhunm[9]= 25; jhunn[9]= 1;
function dattagT(TaT,MoT,JaT) {
var dt, MonatsTag;
Ta = parseInt(TaT);
Mo = parseInt(MoT);
Ja = parseInt(JaT);
if (Ja > 2499 || Ja < 1) {
alert("Als Jahreszahlen sind\nnur 1 bis 2499 erlaubt!"); dt = -99;
}
else {
if (Ja<100 && jh1meld) {
alert("Jahreszahlen unter 100 werden als Daten\ndes 1. Jahrhunderts n. Chr. interpretiert.\n\n(Diese Meldung wird nicht mehr angezeigt.)");
jh1meld = false;
}
if (Mo > 12 || Mo < 1) {
alert("Als Monate bitte nur Zahlen von 1 bis 12 eingeben!"); dt = -99;
}
else {
if (Ta > 31 || Ta < 1) {
alert("Als Tage bitte nur Zahlen von 1 bis 31 eingeben!"); dt = -99;
}
else {
MonatsTag = MonatsTage[Mo];
if (Mo == 2)
if ((Ja % 4) == 0 && (Ja < 1582 || (Ja % 100) > 0 || (Ja % 400) == 0)) MonatsTag = 29;
if (Ta > MonatsTag) {
alert("Der Monat " + MonatsName[Mo] + " hat nur " + MonatsTag + " Tage!"); dt = -99;
}
else {
dt = dattage(Ta, Mo, Ja);
if (dt <= -20) alert("Unerlaubtes Datum!");
}
}
}
}
return dt;
}
function dattage(Ta, Mo, Ja) {
var dattag = 365 * Ja + Ta;
for (i=1;i<Mo;i++) dattag+= MonatsTage[i]
if (Ja < 1582) {
dattag+= 10;
for (i = 1580; i >= Ja; i-= 4 )
dattag--;
}
else
if (Ja == 1582) {
if (Mo == 10) {
if (Ta < 5) dattag+= 10;
else
if (Ta < 15) dattag = -99;
}
else if (Mo < 10) dattag+= 10;
}
else
if (Ja > 2499) dattag = -99;
else {
for (i = 1584; i < Ja; i+= 4)
dattag++;
for (i = 1700; i < Ja; i+= 100)
if ((i % 400) > 0) dattag--;
}
if (dattag > 0) {
if ((Ja % 4) == 0 && Mo > 2 & (Ja < 1582 || (Ja % 100) > 0 || (Ja % 400) == 0)) dattag++;
}
return dattag;
}
function datum(dattag) {
var MonatsTag
Ja = Math.floor(dattag/365); Ta = dattag-(365*Ja)
if (dattag < 577718) {
Ta-= 10;
for (i = 1580; i >= Ja; i-= 4) Ta++;
}
else {
for (i = 1584; i < Ja; i+= 4) Ta--;
for (i = 1700; i < Ja; i+= 100) {
if ((i % 400) > 0) Ta++;
}
}
while (Ta > 365) {
Ta-= 365;
if ((Ja % 4) == 0 && (Ja < 1582 || (Ja % 100) > 0 || (Ja % 400) == 0)) Ta--;
Ja++;
}
while (Ta < 1) {
Ta+= 365;
Ja--;
if ((Ja % 4) == 0 && (Ja < 1582 || (Ja % 100) > 0 || (Ja % 400) == 0)) Ta++;
}
Mo = 1;
for (i = 1; i <= 12; i++) {
MonatsTag = MonatsTage[i];
if (i == 2)
if ((Ja % 4) == 0 && (Ja < 1582 || (Ja % 100) > 0 || (Ja % 400) == 0)) MonatsTag = 29;
if (Ta > MonatsTag) {
Ta-= MonatsTag;
Mo++;
}
else break;
}
datumtxt = WoTag(dattag) + ", " + Ta + ". " + MonatsName[Mo] + " " + Ja;
return datumtxt;
}
function WoTag(dattag) {
wt = (dattag + 25) % 7;
wota = WochenTag[wt];
return wota;
}
function ctrlyr(aktjahr) {
var realjahr=aktjahr;
if (realjahr<80) { realjahr+=2000 }
if (realjahr<200) { realjahr+=1900 }
return realjahr;
}
function setzeheutef4() {
jetzt = new Date(); jtag = jetzt.getDate();
jmonat = jetzt.getMonth() + 1; jjahr = ctrlyr(jetzt.getYear());
document.f4.Tag1.value = jtag;
document.f4.Monat1.value = jmonat;
document.f4.Jahr1.value = jjahr;
}
function ZeigeSpanne(datag1, datag2) {
ZTage = Math.abs(datag1 - datag2);
ZWo = Math.floor(ZTage/7); ZWoTR = ZTage - (ZWo * 7);
ZSt = ZTage * 24; ZMin = ZSt * 60; ZSek = ZMin * 60;
document.fa.ausgabe.value="Der Zeitraum zwischen den beiden Daten\n " +
datum(datag1) + " und\n " + datum(datag2) + "\n" +
"umfaßt " + ZTage + " Tag(e).\n" if ( Math.abs(datag1 - datag2) > 30){ alert(ZTage); }
document.fa.ausgabe.focus();
}
function ber4() {
Ta1 = document.f4.Tag1.value; Mo1 = document.f4.Monat1.value; Ja1 = document.f4.Jahr1.value; datag1 = dattagT(Ta1, Mo1, Ja1);
if (datag1 > -20) {
dadi = document.f4.zeitzahl.value;
deinheit = document.f4.einheit.options.selectedIndex;
if (deinheit == 4)
dadi = dadi * 7;
else {
if (deinheit < 3) dadi = dadi / 24;
if (deinheit < 2) dadi = dadi / 60;
if (deinheit < 1) dadi = dadi / 60;
if (dadi > Math.floor(dadi)) dadi = Math.floor(dadi+1);
}
dadi = (2*document.f4.richt.options.selectedIndex - 1) * dadi;
datag2 = datag1 + dadi;
if (datag2 > -20 && datag2 < 912500) {
ZeigeSpanne(datag1, datag2); document.fa.b4.focus();
}
else { alert("Das sich ergebende Datum liegt\nnicht mehr im erlaubten Bereich.");
document.f4.zeitzahl.focus(); document.f4.zeitzahl.select()
}
}
}
// -->
</SCRIPT>
</HEAD>
<BODY bgcolor="#99CCFF" TEXT="#003399" LINK="#0000FF" VLINK="#990099" ALINK="#FF0000" onload="myscroll()">
<basefont face="Arial">
<H1><A NAME="Kalenderberechnung"></A></H1> <A NAME="Formular3"></A></H4>
<FORM name="f4">
<UL>
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR>
<TD>Datum (Tag, Monat, Jahr):</TD>
<TD><INPUT name="Tag1" size=2 maxlength=2 onFocus="this.select()">.<INPUT name="Monat1" size=2 maxlength=2 onFocus="this.select()">.<INPUT name="Jahr1" size=4 maxlength=4 onFocus="this.select()">
<INPUT type=button value=" Heutiges Datum " onClick="setzeheutef4()"></TD>
</TR>
<TR>
<TD>Zeitraum:</TD>
<TD><INPUT name="zeitzahl" size=12 maxlength=15 onFocus="this.select()"><SELECT name="einheit" size=1><OPTION>Sekunden
<OPTION>Minuten <OPTION>Stunden <OPTION selected>Tage <OPTION>Wochen</SELECT>
<SELECT name="richt" size=1><OPTION>davor <OPTION selected>danach
</SELECT></TD>
</TR>
</TABLE>
<P><INPUT type=reset value=" Felder leeren " onClick="document.f4.Tag1.focus()"> <INPUT type=button value=" Berechnen " onClick="ber4()">
</P>
</UL>
</FORM>
<FORM name="fa">
<textarea name="ausgabe" rows=12 cols=50 wrap=physical onFocus="this.select()">
Nach Anklicken einer Berechnen-Taste der Funktionen 2 - 4 erscheint hier das Ergebnis.
Dies funktioniert nur bei aktiviertem JavaScript!</textarea><BR>
Zurück zur Berechnung von:<BR>
<INPUT name="b1" type=button value="1. Wochentag" onClick="document.f1.Tag1.focus();document.f1.Tag1.select()">
<INPUT name="b2" type=button value="2. Festtage" onClick="document.f1.Tag1.focus();document.f2.Jahr.focus();document.f2.Jahr.select()">
<INPUT name="b3" type=button value="3. Zeitraum" onClick="document.f2.Jahr.focus();document.f3.Tag1.focus();document.f3.Tag1.select()">
<INPUT name="b4" type=button value="4. Termin" onClick="document.f3.Tag1.focus();document.f4.Tag1.focus();document.f4.Tag1.select()">
</FORM></H3>
</script>
</FONT></P>
</BODY>
</HTML>
|
|
| 09.05.2008 10:36:59 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|