eine datumsfunktion

planetngage

New member
hallo wer lust hat kann diese funktion mal durch- bzw anschauen und prüfen ob er nen fehler findet..
oder ob es verbesserungsvorschläge gibt.

danke im voraus!!

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
</head>
<title>
</title>

<script type="text/javascript">
        var datum= "__.__.____";
   
function kalenderwoche(j,m,t) {
Datum1=new Date(j,m-1,t); // Anm. 1
DoDat=donnerstag(Datum1);
kwjahr=DoDat.getFullYear();
DoKW1=donnerstag(new Date(kwjahr,0,4)); // Anm. 2
DoKW1=(Math.floor(1.5+(DoDat.getTime()-DoKW1.getTime())/86400000/7)).toString(10);
if (DoKW1.length==1){
DoKW1='0'.concat(DoKW1);
}//if (DoKW1.length==1)
return(kwjahr.toString().concat(DoKW1));
  }//function kalenderwoche(j,m,t)
function donnerstag(Datum1) {
  var Do=new Date();
  Do.setTime(Datum1.getTime() + (3-((Datum1.getDay()+6) % 7)) * 86400000); // Anm. 3
  return Do;
  }//function donnerstag(datum)
function wochentag(Jahr, Monat, Tag) {
  var jetzt = new Date(Jahr, Monat-1, Tag);
  var TagInWoche = jetzt.getDay();
  var Wochentag = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                          "Donnerstag", "Freitag", "Samstag");
  return Wochentag[TagInWoche];
  }//function wochentag(Jahr, Monat, Tag)
</script>




<body onContextMenu="return false">
<form name="formular" method="get">
<table>
<tr>
<td>Datum:</td>
<td ><input type="text" name="datum" size="10" maxlength="10" style="cursor: url('hidden.ani');" value="__.__.____" border='0' readonly/></td>
<td ><input type="text" name="warnung" size="50" maxlength="50" style="cursor: url('hidden.ani');"
 border='0' readonly/></td></tr>
<tr> 
<td>Wochentag:</td>
<td ><input type="text" name="wochentag" size="10" maxlength="10" style="cursor: url('hidden.ani');" value="________________" border='0' readonly/></td>
</tr>
<tr> 
<td>Kalenderwoche:</td>
<td ><input type="text" name="kalenderwoche" size="5" maxlength="5" style="cursor: url('hidden.ani');" value="______" border='0' readonly/></td>
</tr>
</table>
</form>
</body>

<script for="document" event="onkeydown()" language="JScript" type="text/jscript">{
    var taste='0123456789';
    var key=window.event.keyCode;
    key1=(key >= 96) ? key-96 : key-48


    <!-- Gewuenschte Tasten 0 - ev. 9 //-->
    if(taste.indexOf(key1)>=0 && key1>=0){      
    var wert=datum.indexOf("_");
    if (wert>=0){
    document.formular.warnung.value='GUT gemacht!!';
    datum= datum.substring(0,wert)+key1+datum.substring(wert+1,10);      
    }//if (wert>0)
    }//if(taste.indexOf(key1)>=0...

    <!-- Eingabe oder Enter Taste //-->
    if(key== 13){
    var wert=datum.indexOf("_");
    if (wert==1){
    if(datum.substring(0,1)==0){
    document.formular.warnung.value='Es wurde mit 0 abgebrochen.... Geht zurück!!';
    datum='__.__.____';
    //self.location.href="test_simon.html";
    }//if (wert==1&&datum.substring(0,1)==0)
    else {
    datum='0'+datum.substring(0,1)+'.__.____';
    }//if(datum.substring(0,1)==0)
    }//if(wert==1)
    
    if (wert==4){
    document.formular.warnung.value='Es wird jetzt die Monatszahl ersetzt....';
    datum=datum.substring(0,3)+0+datum.substring(3,4)+'.____';
    }//if (wert==4)
    
    if (wert==7){
    document.formular.warnung.value='Es wird jetzt die Jahreszahl ersetzt....';
    datum=datum.substring(0,6)+'200'+datum.substring(6,7);
    }//if (wert==7)
    
    if (wert==8){
    document.formular.warnung.value='Es wird jetzt die Jahreszahl ersetzt....';
    datum=datum.substring(0,6)+'20'+datum.substring(6,8);
    }//if (wert==7)
    
    if (wert==9){
    document.formular.warnung.value='Es wird jetzt die Jahreszahl ersetzt....';
    datum=datum.substring(0,6)+'2'+datum.substring(6,9);
    }//if (wert==7)    

     
    if (wert==-1){  
    document.formular.warnung.value='ENTER TASTE wurde gedrueckt!!';
    self.location.href="Eingabe_Datum_Wochentag_Kalenderwoche.html";
    }//if (wert==-1)
        
    
    }//if(key== 13)


    <!-- verbotene und unerwuenschte Tasten //-->

    if(key==8 || key==16 || key==17 || key==18 || key==91 || key==112 || key==114){
        alert('TASTE ausgeschaltet'); 
    }//if(key==8 || key==16 || ...

}//<script for="document" 

      
    if (datum.substring(0,2)>31||datum.substring(0,2)==0){
    document.formular.warnung.value='Kein Monat hat '+datum.substring(0,2)+' Tage!!';
    datum='__.__.____';
    }//if (datum.substring(0,2)>31)     
   
    if (datum.substring(3,5)>12||datum.substring(3,5)==0){
    document.formular.warnung.value='Es giebt keine '+datum.substring(3,5)+' Monate!!';
    datum=datum.substring(0,2)+'.__.____';
    }//if (datum.substring(3,4)>12)
    
    if (datum.substring(3,5)==2&&datum.substring(0,2)>29){
    document.formular.warnung.value='Der Februar hat maximal 29 Tage!!';
    datum='__.__.____';
    }//if (datum.substring(3,5)==2&&datum.substring(0,2)>29)
    
    if (datum.substring(0,2)>30&& ('469'.indexOf(datum.substring(4,5))>=0||datum.substring(3,5)==11)) {
    document.formular.warnung.value='Dieser Monat hat maximal 30 Tage!!';
    datum='__.__.____'; 
    }//if (datum.substring(0,2)>30 && ....
     
    if (datum.substring(6,10)==0){
    document.formular.warnung.value='Es gibt keine '+datum.substring(6,10)+' Jahre!!';
    datum='__.__.____';
    }//if (datum.substring(7,10)==0)    

    if (datum.indexOf("_")==-1){
    if (datum.substring(3,5)==2&&datum.substring(0,2)==29&&(datum.substring(6,10)%4!=0
||(datum.substring(6,10)%100==0&&datum.substring(6,10)%400!=0))){
    document.formular.warnung.value='Dieser Februar hat maximal 28 Tage. Kein Schaltjahr!!';
    datum='__.__.____';
    }else{
    document.formular.warnung.value='Datum richtig erstellt....!!';
document.formular.wochentag.value=wochentag(datum.substring(6,10), datum.substring(3,5), datum.substring(0,2));
document.formular.kalenderwoche.value=kalenderwoche(datum.substring(6,10),datum.substring(3,5),datum.substring(0,2));
    }//if (datum.substring(3,5)....
    }//if(datum.indexOf("_")==-1)

document.formular.datum.value=datum;
</script>
</html>
 
Zurück
Oben