• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

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