| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 38
| Probleme mit Alter annzeigen
Hallo! Ich versuche verzweifelt, dass zusätzlich zu dem JS, dass Alter mit angezeigt wird. Mein Versuch bislang ist, den Wert für das 'new Date()' auszulesen, wenn ein Geburtstag ansteht, welches das alert() anzeigt, aber ich weis nicht, wie ich es machen soll, 'Tag, Monat, Jahr' zu deffinieren und dann zu Berechnen. Hier mein bisheriger Versuch: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<script type="text/javascript">
var x0 = new Array();
var x1 = new Array();
x1.push(new Array(5,12,1968,"Stefan"));//Tag,Monat,Jahr,Name
x1.push(new Array(13,3,1980,"Michi"));
x1.push(new Array(13,3,1901,"Tomas"));
x1.push(new Array(13,3,2002,"Carsten"));
x1.push(new Array(14,3,1979,"Peter"));
x1.push(new Array(21,6,2000,"Heike"));
var a1 = new Date();
var a2 = a1.getDate();
var a3 = a1.getMonth()+1;
for(i1 in x1){
if(x1[i1]){
if(x1[i1][0]==a2 && x1[i1][1]==a3){
x0.push(i1);
var Gebdaten = (x1[i1]);
var Geburtsdatum = Gebdaten.slice(0,3);
var heute = new Date(Geburtsdatum);
var Alter = heute - Geburtsdatum;
var Alter = Math.floor(Alter/31536000000);
//alert(Geburtsdatum);
}
}
else{
break;
}
}
if(x0.length==0){
document.write("Heute hat niemand Geburtstag");
}
else{
var x2 = "Heute " + ((x0.length==1)?"hat":"haben");
for(i1 in x0){
x2+=((i1>0)?((i1==(x0.length-1))?"<br>und ":", "):" ") + x1[x0[i1]][3] + " ("+ x1[x0[i1]][2] +" = " + Alter + " Jahre)";
}
document.write(x2+" Geburtstag");
}
</script>
</body>
</html> MfG
__________________ Intelligenz ist die Fähigkeit, andere nicht dumm aussehen zu lassen! Geändert von Speedy19102000 (21-06-2009 um 15:24 Uhr) |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
genauso wie das actionscript-Date, so hat auch das javascript-Date eine reihe von methoden und eigenschaften: http://de.selfhtml.org/javascript/objekte/date.htm
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 38
|
Sorry, aber damit habe ich mich auch schon befasst! Aber leider klappt das mit der Umsetzung nicht, darum wende ich mich, nach zahlreichen missglückten Versuchen, an dieses Forum. MfG
__________________ Intelligenz ist die Fähigkeit, andere nicht dumm aussehen zu lassen! |
| | |
| | #4 (permalink) |
| ?-Developer Registriert seit: Jul 2004 Ort: Zuchwil (CH)
Beiträge: 902
|
Schau mal das hier an: http://www.schmittis-page.de/index.html?/java/t7.htm Sonst einfach googlen: 'javascript alter berechnen'
__________________ Nur tote Fische schwimmen mit dem Strom |
| | |
| | #5 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
| http://seibsprogrammladen.de/frame1....gorithmen/Date Geburtstag Alter in Jahren (ist zwar actionscript, muss aber mit javascript genauso gehen)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 38
|
Hallo! Danke erstmal für Eure Antworten! @silentx: Dort war ich auch schon bei meiner suche, habe es aber damit auch nicht umsetzen können. @hgseib: Auf dieser Seite war ich bei meiner Suche noch nicht, welcher von Dir gemeinten Teil schon einmal vielversprechend aussieht. Ich schieb den Code mal hier hinein: Code: function fAlter(g)
{ var h = new Date();
var d = new Date(0, 0, 0, 0, 0, 0, h.valueOf()-g.valueOf());
return d.getFullYear()-1900;
}
//
// Anwendungsbeispiel:
trace(fAlter(fString2Date("26.2.2006")));
trace(fAlter(fString2Date("27.2.2006")));
trace(fAlter(fString2Date("11.11.1711"))); Liege ich den mit meinem bisherigen code (gaanz oben), welches mir wenigstens schon einmal das Datum ausgibt, richtig oder ist das Mumpitz? Und welcher Teil, des hier kopierten Codes ist dann für mich relevant? Erwartet bitte nicht zu viel von mir. Meine Stärken liegen eher bei CSS, als bei JS und ich mache es nur als Hobby nebenbei. MfG
__________________ Intelligenz ist die Fähigkeit, andere nicht dumm aussehen zu lassen! |
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
fString2Date hast du nicht mit kopiert? und testen geht in javascript mit alert z.b. ... alert(new Date()); und schau dir doch nochmal den link an, den ich dir gegeben hatte, da sind auch komplette scripte dabei. da sieht man doch, was man mit dem zeit-objekt alles machen kann.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 38
|
@hgseib Moin! Ich bin schon 3 Stunden dabei mein Problem zu lösen, hatte schon den den ganzen Desktop voll mit Versuchen es richtig einzubinden. Ich sehe schon den Wald vor lauter Bäumen nicht mehr. Erlöse mich bitte von minen Leiden!!! Kann für Dich ja nicht so schwer sein, bist ja auch ein Profi ![]() Vielen Dank! MfG
__________________ Intelligenz ist die Fähigkeit, andere nicht dumm aussehen zu lassen! |
| | |
| | #9 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
| Code: <script>
function fString2Date(d)
{ var t=d.split('.');
return new Date(t[2], t[1]-1, t[0]);
}
function fAlter(g)
{ var h = new Date();
var d = new Date(0, 0, 0, 0, 0, 0, h.valueOf()-g.valueOf());
return d.getFullYear()-1900;
}
alert(fAlter(fString2Date('15.8.1988')));
alert(fAlter(fString2Date('11.12.2004')));
alert(fAlter(fString2Date('15.8.1888')));
</script>
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 38
|
Moin! Ja, ich hab mal versucht die Funktionen in das schon vorhandene einzusetzen und mit den vorhanenen x1 Werten zu verknüpfen... Und siehe da, ich habe es tatsächlich geschafft und somit ein Problem gelöst. Nun habe ich ein neues Problem, und zwar das 'Jahrtausendproblem'! Bis 1999 wird das Alter richtig berechnet, sobald aber jemand ab dem Jahr 2000 geboren worden ist, stimmt das Alter nicht mehr Es wird immer ein Jahr zu wenig gerechnet. Hast Du das in Deinem JS nicht mit bedacht, oder ist das (wiedermal) ein Fehler von mir? ![]() Also, mein JS sieht jetzt volgendermaßen aus: PHP-Code: function Alter(g) { var h = new Date(); var d = new Date(0, 0, 0, 0, 0, 0, h.valueOf()-g.valueOf()); return d.getFullYear()-1900+1; } Ich habe mir einige Beispiele im Internet angesehen und versucht umzusetzen. Z.B. Das mit +1 müsste doch irgendwie als if-Anweisung gemacht werden, welches ich schon verschiedenfach ausprobiert habe, mir aber nicht gelungen ist. Kannst Du mir sagen, wie ich es machen muss? MfG
__________________ Intelligenz ist die Fähigkeit, andere nicht dumm aussehen zu lassen! |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: May 2006
Beiträge: 38
|
Hallo Zusammen! Leider habe ich bis jetzt mein Problem nicht in der Griff bekommen. Wenn also jemand weis, wo der Fehler steckt, möge mir bitte helfen, Danke! MfG
__________________ Intelligenz ist die Fähigkeit, andere nicht dumm aussehen zu lassen! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |